我的项目是asp.net做的OA系统,其中一个环节是事务提醒,用户可以设置提醒的时间,比如10分钟提醒一次,这个设置的数据我把它存到数据库的一个表中。
现在我的提醒页面需要每隔一段时间刷新一次,刷新的时间正是存储在数据库表中的用户设置的时间,请问如何实现?

解决方案 »

  1.   

    html中可以定时refresh, 将refresh的时间值绑定为一个变量, 后台读取数据库给这个变量一个值.
      

  2.   

    不想刷新的话可以用 js+webservise 
      

  3.   

    用xmlhttp实现吧.1.在页面放一个hidden,当前页面显示时把客户的设置时间取出来 放进去
    2.用以下脚本:
    //以XML求取数据
    function XmlPost()
    {
             var webFileUrl = "xxx.aspx"
    var result = "";
    var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
    xmlHttp.open("POST", webFileUrl, false);
    xmlHttp.send("");
             //取值
    result = xmlHttp.responseText;
             //利用取到的值,用脚本方式对当前页面做提醒动作
             .....
             //每隔用户设定的分钟数刷新一次.
             var i = new Number(document.all("hidden1").value);
             setTimeOut("XmlPost()",i * 1000);
    }3.在取值页面中,求取用户的提醒事宜,用response.write(""); response.end();方式输出.
      

  4.   

    客户端浏览器的安全设置是不得不考虑的。不然,我们可以直接用script调用客户桌面上vs.net给我们调试程序了。
      

  5.   

    回netter2003(心里好烦)和nadoo() :
     难道用<head><meta http-equiv="refresh" content="20"></head>这格式的语句?这个可以在运行的时候会先读数据库,再把读出的值绑定?回hchxxzx(NET?摸到一点门槛):
     xmlhttp过于复杂,有没有其他办法?
      

  6.   

    xmlhttp没你想象中复杂吧?这个比较准确而且快。<head><meta http-equiv="refresh" content="20"></head>也可以实现,在页面读入的时候读数据库就行了。这个意思就是刷新。
      

  7.   

    http://www.cnblogs.com/gwazy/archive/2005/05/10/152205.html这个是每5秒刷新一次...不会postback .........
      

  8.   

    谢谢各位,但难题还没解决,有些东西我确实不知如何下手,你们说的我都不知怎么用,现假定我在Page_Load()中已经从数据库读取到用户设置的刷新的时间并把它赋给一个字符串SetTime,如何使网页按这个读取的时间循环刷新页面?
      

  9.   

    你在页面的</head>前插入一个服务端控件如下:
    <asp:Literal id="myPageRefresh" runat="server"></asp:Literal>
    然后在后台代码中向前台写
    this.myPageRefresh.Text = "<meta http-equiv=\"refresh\" content=\"" + SetTime + "\">";这样可以达到刷新的目的
      

  10.   

    <meta http-equiv="refresh" content=<%=Int32.Parse(Session["refreshTime"])%>>
    在后台代码里把从数据库里读出要刷新的时间赋值给Session["refreshTime"]
      

  11.   

    原来<meta http-equiv...>里面也可以绑定数据啊,谢谢了!