天天看点

asp.net 定时查询数据库弹出提示框

首先,对于页面的定时刷新,可以用<meta http-equiv="refresh" content="2;">2秒刷新,不过这种方式会刷新页面,对用户来说,那是相当晃眼睛啊。所以我选择ajax方式定时刷新。

可以定义一个框架frameset,然后把要刷新的页面放到某个frame里,设置大小为0,这样就看不到了。

代码如下:

<script type="text/javascript">

    //创建xmlHttp

        var xmlHttp;

        function makeRequest() {

            var guid = rand();

            //记住给个随机数,不然的话有缓存

            var url = "CheckMessage.aspx";

            createXMLHttpRequest();

            xmlHttp.onreadystatechange = handleRefresh;

            xmlHttp.open("GET", url, false);

            xmlHttp.setRequestHeader("Cache-Control","no-cache");

            xmlHttp.setRequestHeader("If-Modified-Since","0");

            xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

            xmlHttp.send(null);

        }

        function createXMLHttpRequest() {

            if (window.ActiveXObject) {

                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

            }

            else if (window.XMLHttpRequest) {

               xmlHttp = new XMLHttpRequest();

            }

        }

        //返回信息

        function handleRefresh() {

            if (xmlHttp.readyState == 4) {

                if (xmlHttp.status == 200) { 

                        showmes();

                        setTimeout("makeRequest()", 5000);//这里设置刷新频率

                }           }

        }

        //创建随机数

        rnd.today = new Date();

        rnd.seed = rnd.today.getTime();

        function rnd() {

            rnd.seed = (rnd.seed * 9301 + 49297) % 233280;

            return rnd.seed / (233280.0);

        }

        function rand(number) {

            return Math.ceil(rnd() * number);

        }

/弹出提示框

        function showmes()

        {

            var Message="有1个指令";

            var MSG1 = new CLASS_MSN_MESSAGE('2',200,120, '消息提示','',Message,'self', 'Default.aspx');

            MSG1.rect(screen.width - 205, null, null, screen.height - 60);

            MSG1.speed = 2;

            MSG1.step = 10;

            MSG1.show();

        }

    </script>

</head>

    <frameset makeRequest()"   >

<frame name=Normal noResize src=_Desktop.aspx>

</frameset>

</html>

上面代码就可以刷新CheckMessage.aspx页面,在checkmessage的cs代码里可以进行访问数据库等操作,然后返回xml。