求仿CSDN私信功能

ccsnetmmm 2009-09-25 03:07:45
也就是站内短信功能,哪位高手做过?
...全文
330 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
chaobi18874 2009-12-03
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 myufo1234 的回复:]
C# code<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ChatRoom.aspx.cs" Inherits="Register_ChatRoom"%><!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head id="Head1" runat="server"><title></title><link href="../css/MyCss.css" rel="stylesheet" type="text/css"/><script src="../JS/jquery-1.3.2.min.js" language="javascript" type="text/javascript"></script><script src="../JS/Send.js" language="javascript" type="text/javascript"></script><script src="../JS/checks.js" language="javascript" type="text/javascript"></script><script language="javascript" type="text/javascript">
function GetTime()
{var now=new Date();return now.getYear()+"-"+(now.getMonth()+1)+"-"+now.getDate()+" "+now.getHours()+":"+now.getMinutes()+":"+now.getSeconds();
}</script></head><body onload="flash()"ondragstart="window.event.returnValue=false" oncontextmenu="window.event.returnValue=false" onselectstart="event.returnValue=false"><form id="form1" runat="server"><center><div id="top"><asp:Literal ID="Literal1" runat="server"></asp:Literal></div><div id="body"><table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align: top; width: 60%; height: 12px; text-align: left"><divclass="Cleft"><iframe name="I1" src="ProList.aspx?ID=<%= Request.QueryString["ID"].ToString()%>" onload="document.all('I1').style.height=I1.document.body.scrollHeight;" border="0" frameborder="0" width="100%" style="border-style: solid; border-width: 0; padding: 0; vertical-align: top; text-align: left; background-color: transparent;" marginwidth="2" marginheight="2" scrolling="no"></iframe> </div></td><td style="vertical-align: top; text-align: left"><divclass="Cright" style="vertical-align: top; text-align: left"><table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td><iframe name="contents" frameborder="0" width="100%" height="400px" src="ChatContents.aspx" style="word-break:break-all"></iframe></td></tr></table><div><table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td><textarea id="SendTxt" cols="20" rows="2" style="width: 99%; height: 50px; background-color: transparent; border-right: #cccccc 1px solid; border-top: #cccccc 1px solid; border-left: #cccccc 1px solid; border-bottom: #cccccc 1px solid;"></textarea></td></tr><tr><td><table border="0" cellpadding="0" cellspacing="0" style="margin-left: 10px"><tr><td><input id="Send" type="button" value="发送消息"/></td><td style="width: 41px"><input id="Reset1" type="reset" value="取消"/></td><td style="width: 125px"><input id="Empty" type="button" value="清空聊天信息"/></td><td><asp:Button ID="Button1" runat="server" Text="退出聊天室" OnClick="Button1_Click"/></td><td><div id="error"></div></td></tr></table></td></tr></table></div></div></td></tr></table><asp:HiddenField ID="HiddenField1" runat="server"/><asp:HiddenField ID="HiddenField2" runat="server"/></div></center></form></body></html>

JScript code// JScript 文件var id0=0;
$().ready(function(){
$("#Send").click(send_onclick);
$("#exit").click(Exit_onclick);
$("#SendTxt").focus(function(){
$("#error").html("");
});
$("#UserList").click(function(){
$("#error").html("");
});
$("#Empty").click(function(){
window.parent.frames["contents"].document.getElementById("contents").innerHTML="";
});
window.setInterval("sss()",200);
});function sss(){//frames[0].document.body.innerHTML+="<br>"+(new Date()).toLocaleString(); frames["contents"].scrollBy(0,100);//setTimeout(sss,200);}//注册键盘事件$(document).keydown(function(e){if(e.keyCode==13){send_onclick();}
});//发送消息function send_onclick() {var chatcontent=$("#SendTxt").val();var addressee=$("#HiddenField2").val();var from=$("#HiddenField1").val();if(addressee==null){
$("#error").css("color","red");
$("#error").html("请选择客户!")
;returnfalse;
}if(chatcontent.length<1){
$("#error").css("color","red");
$("#error").html("请输入内容");returnfalse;
}if(chatcontent.length>250){
$("#error").css("color","red");
$("#error").html("字数过多!");returnfalse;
}if(!checks(chatcontent))
{
$("#error").css("color","red");
$("#error").html("请勿包含以下#%&\<>,;:=!^-非法字符");returnfalse;
}
$.ajax({
type:"post",
dataType:"json",
url:"../ashx/SendMessage.ashx",
data:"FromUser="+encodeURI(from)+"&ToUser="+encodeURI(addressee)+"&Message="+encodeURI(chatcontent),
success:function(data){}
});//var time=Date(); window.parent.frames["contents"].document.getElementById("contents").innerHTML+="<font color='#FF2400'>【"+from+"】于"+GetTime()+"对〖"+addressee+"管理员〗说:</font><br/>   <font color='#FF7F00'>"+chatcontent+"</font><br/>";
sss();
$("#SendTxt").val("");returntrue;
}function Exit_onclick()
{
$("#SendTxt").val("");
}
长度原因~接收代码没贴~不过和发送一样道理,使用ajax轮询
数据库~FromUser字段表示发信人、ToUser收信人、Contents内容、IsOrNoRead是已否读

[/Quote]



能将源码发给我么?714710085@qq.com
alan0128 2009-09-30
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 ccsnetmmm 的回复:]
你说的那个思路我也想到了..就是看看有没有源码而已...我自己也能写出来
[/Quote]
那你是在考验自己还是考验这里的人呢
tkx180 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 ccsnetmmm 的回复:]
你说的那个思路我也想到了..就是看看有没有源码而已...我自己也能写出来
[/Quote]
别老想着偷懒,这样做害的是自己!
wxd024 2009-09-28
  • 打赏
  • 举报
回复
帮顶关注
dahaidao 2009-09-28
  • 打赏
  • 举报
回复
我也在做这个呢。
冷眼1983 2009-09-28
  • 打赏
  • 举报
回复
lovezhxf 2009-09-28
  • 打赏
  • 举报
回复
关注 中,帮顶。。
dengxiao1981 2009-09-28
  • 打赏
  • 举报
回复
学习下
ccsnetmmm 2009-09-28
  • 打赏
  • 举报
回复
你说的那个思路我也想到了..就是看看有没有源码而已...我自己也能写出来
小_虎 2009-09-28
  • 打赏
  • 举报
回复
结贴吧,你还想顶到什么时候、?

给思路已经挺好的了。

如果看思路看不懂,给你源码也没用。

有了思路以后自己去实践,碰到具体问题再来讨论
ccsnetmmm 2009-09-28
  • 打赏
  • 举报
回复
...
ccsnetmmm 2009-09-27
  • 打赏
  • 举报
回复
11楼在吗?能将代码发一下吗?
jdhlowforever 2009-09-27
  • 打赏
  • 举报
回复
学习下!
ccsnetmmm 2009-09-27
  • 打赏
  • 举报
回复
自己顶下
sijin 2009-09-27
  • 打赏
  • 举报
回复
学习下
jhdxhj 2009-09-27
  • 打赏
  • 举报
回复
ding
yanm7788 2009-09-27
  • 打赏
  • 举报
回复
网上找找吧,能找到相关思路,成熟的产品一般都不会完全贴出来.
qiuqingpo 2009-09-25
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 ccsnetmmm 的回复:]
难道我要自己写了吗?o(︶︿︶)o
[/Quote]

作为程序员就应该自己写的
小_虎 2009-09-25
  • 打赏
  • 举报
回复
而那个"是否已经查看"的字段,却不是在这里判断。

而是在打开页面后,看信息的属性是否已经读了。

小_虎 2009-09-25
  • 打赏
  • 举报
回复
我的思路是,页面定时1分钟连下服务器,去查下数据库。

数据库中有个字段,叫"最后查看时间",查看一次更新一次。

然后我们发的私信肯定有个发送时间。

然后我们下次去连数据的时候去判断:select Count(*) from 表 where 条件=发送时间>(查出这个最后查看时间)

如果有数据,就显示为这个查出的Count(*)
加载更多回复(11)

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧