好友在一家公司做网上销售的网站,在后台管理这块,想要实现新订单时时维护的功能,做一个类似msn信息提示的对话框,可以针对数据库中新的订单做一个信息提示框。用AjaxPro.2.dll可以实现该功能,具体操作如下:
1.引用AjaxPro.2.dll
2.WebConfig中添加配置
3.shyMSN页面的后台服务器代码
{
Random rd = new Random();
public string caption
{
get { return "后台订单系统提示信息:"; }
}
public string title
{
get { return "你有"; }
}
public string url
{
get { return "Order.aspx"; }//转向订单操作页面
}
protected void Page_Load(object sender, EventArgs e)
{
#region 注册无刷新
AjaxPro.Utility.RegisterTypeForAjax(typeof(shyMSN));//shyMSN为当前页面的类名
#endregion
}
#region "用来检索数据库新消息的记录数"
[AjaxPro.AjaxMethod]
public string getxx()
{
int news = rd.Next(1, 10);
return news.ToString(); //随机数代表新信息的个数 可以改成和数据库的交互(查询新订单的个数)
}
#endregion
4.shyMSN的页面前台代码
<title>AjaxPro实现无刷新模仿MSN提示消息功能</title>
</head>
<body>
<form id="form1" runat="server">
<AjaxAsp:ScriptManager ID="ScriptManager1" runat="server">
</AjaxAsp:ScriptManager>
<script language="javascript" src="JS/SysMsg.js"></script>
<script language="javascript" type="text/javascript">
setInterval("getOrder()",60000);//间隔时间为一分钟,即每隔1分钟从数据库中读取一次数据
function getOrder()
{
shyMSN.getxx(callback);//返回新信息的数量;每个ajaxpro的函数都要有一个自己的”回调函数“
}
function callback(res) //回调函数
{
if(res.value>0)//如果新信息的数量大于0则给用户弹窗口提示
{
var MSG1 = new CLASS_MSN_MESSAGE("aa",200,120,'<%=caption %>','<%=title %>'+res.value+"条新的消息,请及时查收!",'点击查看','<%=url %>',"_blank","help me");
MSG1.rect(null,null,null,screen.height-50);
MSG1.speed = 10;
MSG1.step = 5;
MSG1.show();
}
}
</script>
</form>
</body>
</html>
5.SysMsg.js
6.运行效果