好友在一家公司做网上销售的网站,在后台管理这块,想要实现新订单时时维护的功能,做一个类似msn信息提示的对话框,可以针对数据库中新的订单做一个信息提示框。用AjaxPro.2.dll可以实现该功能,具体操作如下:

      1.引用AjaxPro.2.dll

      2.WebConfig中添加配置

>

 

    3.shyMSN页面的后台服务器代码

 shyMSN : System.Web.UI.Page
{
    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(110);
        
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.运行效果

 

     

   

        

相关文章: