收 藏 投 稿 繁 体 RSS 
站长吧-中国站长学习与交流的网站
首 页 运 营 学 院 建 站 论 坛
Web master8.net  
 网站运营  
  欢迎在本站发布信息,在线投递稿件请点这里。编辑QQ:4908220,欢迎联系交流。
业界动态 创业故事 推广研究 策划盈利 电子商务 企业平台
  站长工具
SEO查询 Whois查询 Pr查询 域名查询 IP查询 网页编辑器
 建站服务  
  如有建站意向,请尽快联系我们,以便安排时间... 建站服务 QQ4908220 QQ:4908220
作品展示 服务范围 服务流程 服务报价 联系方式 付款方式
文章正文  » 您的当前位置: 首页 >> 学院 >> 程序开发 >> ASP.Net
.net中即时消息发送的实现……
  来源:互联网 | 时间:2005-10-04 | 浏览:   相关评论 | 报告错误 | 发布文章
【字号: | | 】 【背景色 杏仁黄 秋叶褐 胭脂红 芥末绿 天蓝 雪青 灰 银河白(默认色)
     用了我一下午的时间终于写完并整理好了利用.net来发送即时消息的材料(当然了,还有上午的数据库设计:)
   数据库设计:info表:id fromstu_id tostu_id content term
  其中id是主键,fromstu_id是发送信息的用户的学号(这是和我做的学友录连在一起的),tostu_id是接受信息的用户的学号,content是消息的内容,term是判断是否为新消息。
  下面的代码家在校友录中的if not ispostback中
  "/////////////////////判断是否有新留言,将自动弹出页面
  这里还要将页面的刷新时间设置一下,以便可以循环的读取信息。
   Dim mysql As String = "select * from info where tostu_id=@myid and term=1"
   Dim comm As SqlCommand = New SqlCommand(mysql, conn)
   comm.Parameters.Add(New SqlParameter("@myid", SqlDbType.Int, 4))
   comm.Parameters("@myid").Value = Session("stu_id")
   Dim dr As SqlDataReader
   conn.Open()
   dr = comm.ExecuteReader
   If dr.Read Then
   Response.Write("<script language=JavaScript>window.open("info.aspx","","height=330,width=560,status=no,location=no,toolbar=no,directories=no,menubar=no")</script>")
   End If
   dr.Close()
   comm.Cancel()
  
  下面的代码是用来发送即时消息的页面,其中里面分了两个部分,一个是用来回复的,一个是用来专门发送的,两个的页面稍有区别,仔细看一下就会明白的:)
  
  下面是所有的代码:codebehind部分
  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")
   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
   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 mysql As String = "select nick from pwd where stu_id="" & tostu_id & """
   Dim comm As SqlCommand = New SqlCommand(mysql, conn)
   Dim dr As SqlDataReader
   conn.Open()
   dr = comm.ExecuteReader
   While dr.Read
   TextBox1.Text = dr.item("nick")
   End While
   TextBox1.Enabled = False
   Label3.Text = ""
   Label4.Text = ""
   Label5.Visible = False
   Label8.Visible = True
   Label6.Visible = False
   Label7.Visible = False
   Label9.Visible = False
   dr.close()
   End If
   End If
   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")
   If tostu_id = "" Then
   "/////////////////////////当回复留言时
   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 = ""
   Else
   "/////////////////////////当发送留言时
   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 = tostu_id
  
   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
   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
  End Class
  
  
  页面部分:
  <%@ Page Language="vb" AutoEventWireup="false" Codebehind="info.aspx.vb" Inherits="_99re1.info"%>
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <HTML>
   <HEAD>
   <title></title>
   <meta content="Microsoft Visual Studio.NET 7.0" name="GENERATOR">
   <meta content="Visual Basic 7.0" name="CODE_LANGUAGE">
   <meta content="JavaScript" name="vs_defaultClientScript">
   <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
   </HEAD>
   <body background="image/bg.gif" MS_POSITIONING="GridLayout">
   <form id="Form1" method="post" runat="server">
   <FONT face="宋体">
   <asp:image id="Image3" style="Z-INDEX: 111; LEFT: 141px; POSITION: absolute; TOP: 312px" runat="server" Width="221px" Height="98px" ImageUrl="image/99re1-1.gif"></asp:image>
   <asp:textbox id="TextBox1" style="Z-INDEX: 101; LEFT: 73px; POSITION: absolute; TOP: 123px" runat="server" BorderColor="Navy" BorderWidth="1px"></asp:textbox>
   <asp:label id="Label1" style="Z-INDEX: 102; LEFT: 26px; POSITION: absolute; TOP: 127px" runat="server" Width="42px" Height="18px" Font-Size="X-Small" ForeColor="Navy" Font-Bold="True">发往:</asp:label>
   <asp:label id="Label2" style="Z-INDEX: 103; LEFT: 26px; POSITION: absolute; TOP: 156px" runat="server" Font-Size="X-Small" ForeColor="Navy" Font-Bold="True">内容:</asp:label>
   <asp:textbox id="TextBox2" style="Z-INDEX: 104; LEFT: 73px; POSITION: absolute; TOP: 154px" runat="server" TextMode="MultiLine" Width="449px" Height="74px" BorderColor="Navy" BorderWidth="1px" MaxLength="200"></asp:textbox>
   <asp:button id="Button1" style="Z-INDEX: 105; LEFT: 357px; POSITION: absolute; TOP: 252px" runat="server" Width="50px" Height="20px" Text="发送" BorderColor="Navy" BorderWidth="1px" BackColor="#FFE0C0"></asp:button>
   <asp:button id="Button2" style="Z-INDEX: 106; LEFT: 176px; POSITION: absolute; TOP: 253px" runat="server" Width="87px" Height="20px" Text="继续发送…" BorderColor="Navy" BorderWidth="1px" BackColor="#FFE0C0"></asp:button>
   <asp:label id="Label3" style="Z-INDEX: 107; LEFT: 75px; POSITION: absolute; TOP: 10px" runat="server" Width="135px" Height="6px" Font-Size="Small">Label</asp:label>
   <asp:label id="Label4" style="Z-INDEX: 108; LEFT: 300px; POSITION: absolute; TOP: 9px" runat="server" Width="219px" Height="13px" Font-Size="Small">Label</asp:label>
   <asp:label id="Label5" style="Z-INDEX: 109; LEFT: 73px; POSITION: absolute; TOP: 40px" runat="server" Width="447px" Height="71px" Font-Size="X-Small" BorderColor="SlateGray" BorderWidth="1px">Label</asp:label>
   <asp:label id="Label6" style="Z-INDEX: 110; LEFT: 26px; POSITION: absolute; TOP: 12px" runat="server" Font-Size="X-Small" ForeColor="Red" Font-Bold="True">来自:</asp:label>
   <asp:TextBox id="TextBox3" style="Z-INDEX: 112; LEFT: 247px; POSITION: absolute; TOP: 122px" runat="server" Visible="False"></asp:TextBox>
   <asp:Label id="Label8" style="Z-INDEX: 113; LEFT: 116px; POSITION: absolute; TOP: 55px" runat="server" Height="33px" Width="327px" Font-Bold="True" ForeColor="Navy" Font-Size="Large" Font-Names="方正姚体" Font-Underline="True">直接写入内容点击发送即可!</asp:Label>
   <asp:Label id="Label7" style="Z-INDEX: 114; LEFT: 225px; POSITION: absolute; TOP: 12px" runat="server" Height="15px" Width="71px" Font-Bold="True" ForeColor="Red" Font-Size="X-Small">发信日期:</asp:Label>
   <asp:Label id="Label9" style="Z-INDEX: 115; LEFT: 25px; POSITION: absolute; TOP: 41px" runat="server" Font-Bold="True" ForeColor="Red" Font-Size="X-Small">内容:</asp:Label>
   </FONT>
   </form>
   </body>
  </HTML>
  以上代码在bata2环境下调试成功.
  
  特别感谢:cheery_ke提供思路!
  朋友一生一起走,多一个朋友就多一分收获!

master8
  • 上一篇:改写即时消息的发送,包含同时给多人发送信息!
  • 下一篇:万维网创始人博客处女秀

  • 我要投稿  打印本文  推荐本文  加入收藏  返回顶部  关闭窗口
    搜模板(www.somoban.com) 原创网站模板交易平台
    阿里妈妈再掀疯狂采购风,网站广告位严重告急,急召天下站长
    基于PHP+MySQL的整站、模块、插件开发等或者按需求实现相应功能;
基于各PHP主流建站系统CMS,BBS,BLOG等的模板定制,完全手写代码;
整站数据迁移或备份恢复;网页代码优化、重构;整站常规SEO优化;网站技术支持;
点击了解详情...
    站长论坛
    • 验证码: