以前的的發送消息按鈕事件改寫如下: '/////////////////////轉到發送即時消息頁面 Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim i, j As Integer j = 0 Dim tostu_id As String = "" For i = 0 To mycheck.Items.Count - 1 If mycheck.Items(i).Selected Then '////////////////////////限制發送條數 j = j + 1 If j < 6 Then '/////////////////////參數構造 tostu_id = tostu_id & CheckBoxList1.Items(i).Text & "@" Else Label2.Visible = True Label2.Text = "一次最多能給五個用戶發送信息!" Return 'Response.Write("<script language=JavaScript>window.open('info.aspx?tostu_id=' & CheckBoxList1.Items(i).Text,'','height=330,width=560,status=no,location=no,toolbar=no,directories=no,menubar=no')</script>") End If End If Next i Response.Redirect("info.aspx?tostu_id=" & tostu_id) End Sub 這里發送信息的頁面由于修改的比較多,所以把全部代碼全都抓來了,呵呵:) codebebind部分: Imports System.Data Imports System.Data.SqlClient Public Class info Inherits System.Web.UI.Page Protected WithEvents Label1 As System.Web.UI.WebControls.Label Protected WithEvents Label2 As System.Web.UI.WebControls.Label Protected WithEvents TextBox2 As System.Web.UI.WebControls.TextBox Protected WithEvents Button1 As System.Web.UI.WebControls.Button Protected WithEvents Button2 As System.Web.UI.WebControls.Button Protected WithEvents Label3 As System.Web.UI.WebControls.Label Protected WithEvents Label4 As System.Web.UI.WebControls.Label Protected WithEvents Label5 As System.Web.UI.WebControls.Label Protected WithEvents Label6 As System.Web.UI.WebControls.Label Protected WithEvents TextBox3 As System.Web.UI.WebControls.TextBox Protected WithEvents Image3 As System.Web.UI.WebControls.Image Protected WithEvents Label8 As System.Web.UI.WebControls.Label Protected WithEvents Label7 As System.Web.UI.WebControls.Label Protected WithEvents Label9 As System.Web.UI.WebControls.Label Protected WithEvents Label10 As System.Web.UI.WebControls.Label Protected WithEvents Button3 As System.Web.UI.WebControls.Button Protected WithEvents Label11 As System.Web.UI.WebControls.Label Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox #Region " Web Form Designer Generated Code " 'This call is required by the Web Form Designer. <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: This method call is required by the Web Form Designer 'Do not modify it using the code editor. InitializeComponent() End Sub #End Region Dim conn As SqlConnection = New SqlConnection("server=lixinri;uid=sa;pwd=;database=99re1") Public Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Not IsPostBack Then Dim tostu_id As String = Request.QueryString("tostu_id") Dim splitname() As String '///////////這里用了Split函數將傳過來的參數取出 splitname = Split(tostu_id, "@") If tostu_id = "" Then '//////////////////當回復留言時 Dim sql As String = "select a.*,b.nick from info a,pwd b where a.fromstu_id=b.stu_id and a.tostu_id='" & Session("stu_id") & "' and a.term=1" Dim comm As SqlCommand = New SqlCommand(sql, conn) Dim dr As SqlDataReader conn.Open() dr = comm.ExecuteReader While dr.Read Label3.Text = dr.Item("nick") Label4.Text = dr.Item("tim") Label5.Text = " " & dr.Item("content") TextBox1.Text = dr.Item("nick") TextBox3.Text = dr.Item("fromstu_id") TextBox1.Enabled = False Label8.Visible = False Label11.Visible = False End While dr.Close() comm.Cancel() '//////////////////////更新留言使留言屬性為已閱讀過 Dim sql_1 As String = "update info set term=0 where tostu_id='" & Session("stu_id") & "' and term=1 and tim='" & Label4.Text & "'" comm = New SqlCommand(sql_1, conn) comm.ExecuteNonQuery() Else '////////////////////當發送留言時 '/////////////////讀取參數 Dim i As Integer For i = 0 To UBound(splitname) - 1 Dim mysql As String = "select nick from pwd where stu_id='" & splitname(i) & "'" Dim comm As SqlCommand = New SqlCommand(mysql, conn) Dim dr As SqlDataReader If i = 0 Then conn.Open() dr = comm.ExecuteReader If dr.Read Then TextBox1.Text = Trim(dr.item("nick")) & ";" End If control() dr.close() Else dr = comm.ExecuteReader If dr.Read Then TextBox1.Text = TextBox1.Text & Trim(dr.item("nick")) & ";" End If control() dr.close() End If Next i End If End If End Sub '/////////////////control事件,沒有什么實際意義,使代碼簡單罷了。 Sub control() TextBox1.Enabled = False : Label3.Text = "" : Label4.Text = "" : Label5.Visible = False Label8.Visible = True : Label6.Visible = False : Label7.Visible = False : Label9.Visible = False Button3.Visible = False : Label11.Visible = True Label11.Text = "<a href=board.aspx><<<返回學友錄</a>" End Sub '/////////////////書寫提交消息事件 Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim tostu_id As String = Request.QueryString("tostu_id") Dim splitname() As String splitname = Split(tostu_id, "@") If tostu_id = "" Then '/////////////////////////當回復留言時 If TextBox2.Text = "" Or TextBox2.Text = " " Then Label10.Visible = True Label10.Text = "消息不能為空!" Return Else Label10.Visible = False conn.Open() Dim sql As String = "insert into info(fromstu_id,tostu_id,content,term,tim) values(@fromstu_id,@tostu_id,@content,@term,@tim)" Dim comm As SqlCommand = New SqlCommand(sql, conn) comm.Parameters.Add(New SqlParameter("@fromstu_id", SqlDbType.Int, 4)) comm.Parameters("@fromstu_id").Value = Session("stu_id") comm.Parameters.Add(New SqlParameter("@tostu_id", SqlDbType.Int, 4)) comm.Parameters("@tostu_id").Value = TextBox3.Text comm.Parameters.Add(New SqlParameter("@content", SqlDbType.VarChar, 200)) comm.Parameters("@content").Value = TextBox2.Text comm.Parameters.Add(New SqlParameter("@term", SqlDbType.Int, 4)) comm.Parameters("@term").Value = "1" comm.Parameters.Add(New SqlParameter("@tim", SqlDbType.Char, 20)) comm.Parameters("@tim").Value = Date.Now comm.ExecuteNonQuery() 'TextBox2.Text = "" End If Else '/////////////////////////當發送留言時 If TextBox2.Text = "" Or TextBox2.Text = " " Then Label10.Visible = True Label10.Text = "消息不能為空!" Return Else '////////////////插入i條數據 Dim i As Integer For i = 0 To UBound(splitname) - 1 Label10.Visible = False If i = 0 Then conn.Open() Else End If Dim sql As String = "insert into info(fromstu_id,tostu_id,content,term,tim) values(@fromstu_id,@tostu_id,@content,@term,@tim)" Dim comm As SqlCommand = New SqlCommand(sql, conn) comm.Parameters.Add(New SqlParameter("@fromstu_id", SqlDbType.Int, 4)) comm.Parameters("@fromstu_id").Value = Session("stu_id") comm.Parameters.Add(New SqlParameter("@tostu_id", SqlDbType.Int, 4)) comm.Parameters("@tostu_id").Value = splitname(i) comm.Parameters.Add(New SqlParameter("@content", SqlDbType.VarChar, 200)) comm.Parameters("@content").Value = TextBox2.Text comm.Parameters.Add(New SqlParameter("@term", SqlDbType.Int, 4)) comm.Parameters("@term").Value = "1" comm.Parameters.Add(New SqlParameter("@tim", SqlDbType.Char, 20)) comm.Parameters("@tim").Value = Date.Now comm.ExecuteNonQuery() 'TextBox2.Text = "" Next i End If End If Response.Write("<script language=javascript>alert('發送成功!')</script>") End Sub '////////////////////返回繼續發送 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Response.Redirect("boaman.aspx") End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Response.Write("<script language=javascript>window.close()</script>") End Sub End Class 感謝laodeng了:)
|