领导要求要再ASP.NET MVC 3的异步请求,比如无刷新分页等,在点击按钮后显示遮幕,ajax请求完成后关闭遮幕,请问应该怎样用JS代码实现?弹出和关闭遮幕的方法已经完成了。就看怎样能捕捉到ASP.NETMVC异步请求的开始和结束的JS事件了?求教,想了很久也没想出来。

解决方案 »

  1.   

    已经给你写好了,请看:http://www.webdiyer.com/Controls/MvcPager/Loading
    用MvcPager实现即可,很简单
      

  2.   

    如果lz的翻页调用jquery的ajax方法来更新数据,这个需求很简单,jquery的ajax函数提供了请求开始的handler:                $.ajax({ url: $("#ServiceUrl").val(),  
                        type: "Post",  
                        cache: false,  
                        data: { Url: x },  
                        async: false, 
                        beforeSend:function(){
                            // 显示遮蔽罩
                        }, 
                        success: function (x) {
                            // 隐藏遮蔽罩
                            // 更新页面表格
                        },  
                        error: function (x, e) {  
                            Alert("!ERROR");  
                        },  
                        complete: function (x) {  
                            
                        }  
                    });  
    如注释所说,实现beforeSend对应的函数即可。
      

  3.   

    恩。用Jquery的很简单,但是如果是微软的ASP.NET的无刷新控件呢?
    是没有异步请求的事件。
      

  4.   

    后台实现吧,把合成的表格字符串通过ajax传到前台,再替换条当前表格的内容不就OK啦!
    From.getTableHtml(id, function(response)
                    {
                        if (response.value != '')
                        {
                            //替换
                        }
                        else
                        {
                            //做其它事情                  
                        }
                    });后台
    [Ajax.AjaxMethod]
    public string getTableHtml(string id)
    {
         //做事情
          return "字符串";
    }