asp.net聊天室刷新问题 看了很多 ajax刷新 还有frame隐藏 头晕,不知从何下手 我的结构是 把聊天内容塞进数据库然后再取出打印出来(网上看的说application存储聊天内容比较浪费资源,数据库呢 因为用的人不是很多,也就无所谓了 )哪位前辈指点一二或有原程序最好啦~@~嘿嘿 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用ajax吧iframe没有ajax好用 - -!就是想问ajax怎么下手啊,var load=XmlHttp....load.open("","","","")load.send();我只知道这么点我是初学..没见过ajax刷新 真的一头雾水 你直接调用ajax.dll就可以,不过我是用异步回调即实现 ICallbackEventHandler接口实现的 注意,每次取的都是新的消息,否则数据库受不了,不过每隔三秒钟刷新一次,数据库压力还是比较大,我是把数据存在一个对象里,从这个对象取后台cs文件: protected string FormatMessage(IList<MessageRecord> list) { if (list.Count == 0) return ""; string temp = ""; foreach (MessageRecord i in list) { temp += "<table border=\"0\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">"; temp += "<tr>"; temp += "<td align=\"left\" width=\"100%\">"; if (i.ReceiveOrSend == true) temp += i.ChatTo + "对我说:"; else temp += "我对" + i.ChatTo + "说:"; temp += i.SendTime + "</td>"; temp += "</tr>"; temp += "<tr>"; temp += "<td width=\"100%\" align=\"left\"><font color=\"#c66fff\">"; temp += i.Content + "</font></td></tr></table>"; } return temp; } #region ICallbackEventHandler 成员 public string GetCallbackResult() { return FormatMessage(MessageTalking.GetMessageTalking(ChatTo).NewSessionCollection(ChatTo)); } public void RaiseCallbackEvent(string eventArgument) { } #endregion前台:<script type="text/javascript" language="javascript"> function <%#this.ClientID%>_CallBack(){ <%# Page.ClientScript.GetCallbackEventReference( this, "", this.ClientID + "_GetResult", "")%>; } function <%#this.ClientID%>_GetResult(result){ if(result!="") { document.getElementById("TestSession1").innerHTML+=result; document.getElementById("TestSession1").scrollTop +=99999999; } } //每隔三秒钟刷新一次,取新的数据 i=window.setInterval("<%#this.ClientID%>_CallBack()",3000); asp.net+access GridView绑定一个表,但里面的一列数值要联系到另外一个表 参数占位的一个基础问题 前台定义的变量后台可以调用吗? 時間轉換問題--ok就馬上結貼 关于用 asp.net 给文件夹改名的困惑。(System.IO没有找到改名的属性) 在线等。/// 使用C#怎样读取nText 如何实现点击WEB页面上的一个服务器按钮,让它先执行客户端的代码,然后再执行服务器端的代码? 问一个问题。 .net 网站 IIS 部署程序错误 用户自定义控件可以有输入参数吗? 求新浪发表bolg文章的编辑器 统计图片显示次数的问题!?望高人指点!
iframe没有ajax好用
load.send();我只知道这么点我是初学..没见过ajax刷新 真的一头雾水
注意,每次取的都是新的消息,否则数据库受不了,不过每隔三秒钟刷新一次,数据库压力还是比较大,我是把数据存在一个对象里,从这个对象取
后台cs文件:
protected string FormatMessage(IList<MessageRecord> list)
{
if (list.Count == 0) return "";
string temp = "";
foreach (MessageRecord i in list)
{
temp += "<table border=\"0\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">";
temp += "<tr>";
temp += "<td align=\"left\" width=\"100%\">";
if (i.ReceiveOrSend == true)
temp += i.ChatTo + "对我说:";
else
temp += "我对" + i.ChatTo + "说:";
temp += i.SendTime + "</td>";
temp += "</tr>";
temp += "<tr>";
temp += "<td width=\"100%\" align=\"left\"><font color=\"#c66fff\">";
temp += i.Content + "</font></td></tr></table>";
}
return temp;
}
#region ICallbackEventHandler 成员 public string GetCallbackResult()
{
return FormatMessage(MessageTalking.GetMessageTalking(ChatTo).NewSessionCollection(ChatTo));
} public void RaiseCallbackEvent(string eventArgument)
{
} #endregion前台:
<script type="text/javascript" language="javascript">
function <%#this.ClientID%>_CallBack(){
<%# Page.ClientScript.GetCallbackEventReference( this, "", this.ClientID + "_GetResult", "")%>;
}
function <%#this.ClientID%>_GetResult(result){
if(result!="")
{
document.getElementById("TestSession1").innerHTML+=result;
document.getElementById("TestSession1").scrollTop +=99999999;
}
}
//每隔三秒钟刷新一次,取新的数据
i=window.setInterval("<%#this.ClientID%>_CallBack()",3000);