top.aspx页面:实现AJAX和JQUERY调用请求
<script src="js/jQuery.js"></script>
<script>
//实际使用过程中可以从session中获取
//var aa = Request.Cookies["username"].value;
if (!GetMessageCount) {
var GetMessageCount = {};
}
$(document).ready(
function() {
GetMessageCount.FindMessage();
}
);
GetMessageCount.FindMessage = function() {
$.ajax({
//处理ajax请求
url: 'FindNewMessage.ashx',
// 当前用户:因为后台是把值赋给了标签,也就是登陆用户,在这里就可以直接取标签就可以了
data: { customer: document.getElementById('<%=Label1.ClientID %>').innerText },
// data: {customer:'ld'},
cache: false,
//回调函数返回未读短信数目
success: function(response) {
$('#messageCount').val(response);
},
error: function(data) {
alert("加载失败");
}
});
//每隔5 秒递归调用一次,刷新未读短信数目
window.setTimeout(GetMessageCount.FindMessage, 5000);
}
</script>
top.aspx.cs:后台代码
if (!IsPostBack)
{
if (PageBase.getUsersName()!=null)
{
string username = PageBase.getUsersName();
Label1.Text = username;
}
}
FindNewMessage.ashx:处理AJAX请求的页面代码
public class FindNewMessage : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
//获取未读短信的数量,返回页面
int count = XiaoXiManager.GetUnreadMessageCount(Convert.ToString(context.Request["customer"]));
//返回页面
context.Response.Write(count);
}