一.ScriptManagerProxy控件概述
由于ScriptManager是整个页面的脚本控制器,所以一个ASPX页面上只能有一个ScriptManager控件。如果在项目在存在了母版页,并在母版页中已经应用了ScriptManager,而在内容页中又需要引入其他的WEB服务的话,该如何处理? 这个时候ScriptManagerProxy就派上用场了。我们在内容页中可以用ScriptManagerProxy代理ScriptManagerProxy的功能,它的用法与ScriptManager完全相似:
首先,新建一个AJAXEnableWebSite,在default.aspx中添加如下控件: 注意:GridView控件和其数据源SqlDataSource控件放在updatepanel控件中,打开GridView的翻页功能,在updatepanel控件外放置一个updateProgress控件和Label控件,Label控件用于显示加载的时间,可以判断是否实现局部刷新。因为updatepane控件内的内容会被更新,其外的控件则不会更新,可以说UpdatePanel是实现局部刷新的关键。 在UpdateProgress控件中写入更新时的提示,如上图。 下面,为了能够清楚的看到局部刷新的效果,并证明进行的局部刷新,我们的page_load()中加入了: Label1.Text = DateTime.Now.ToString();//显示页面加载的时间。 在GridView控件的翻页事件中加入如下代码来延迟进程: protected void GridView1_PageIndexChanged(object sender, EventArgs e) { System.Threading.Thread.Sleep(2000); } 好了,运行一下,就可以看到效果了。 你可以看到当翻页效果实现时,Label1上面的时间并没有变,说明实现了局部刷新。