asp.net中同时给多人发送信息的方法


ASP.NET #即时消息2014-04-08 10:51
以前的的发送消息按钮事件改写如下: 
  '/////////////////////转到发送即时消息页面 
   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 

相关文章

粤ICP备11097351号-1