第3章 ASP.NET AJAX的核心:ScriptManager控件
3.2 在页面中添加ScriptManager控件
源代码中选中部分包含了3个<script>标签,其src属性分别指向了WebResource.axd资源,并提供不同的参数(参数根据实际情况将略有不同)。这样服务器端的WebResource.axd文件将根据查询字符串从System.Web.Extensions.dll中取得内嵌的脚本资源,并生成内容与MicrosoftAjax.js文件和MicrosoftAjaxWebForms.js文件一致的ASP.NET AJAX的客户端核心脚本,即前两个<script>标签所引用的内容,并将其发送给客户端。至于第三个<script>标签所引用的内容,则提供了对异步回送以及页面局部更新功能的支持。
EnablePartialRendering属性:
ASP.NET AJAX允许我们改变原有的ASP.NET回送(postback)模式,即不再是整页的回送,而是只回送页面中的一部分。待服务器端返回之后,也仅仅更新局部的页面。这是一个非常强大的功能。
若在我们的页面中不需要异步回送或页面局部更新功能,则应该手工设置EnablePartial- Rendering属性为false,避免对网络流量不必要的浪费。
EnablePageMethods属性:
ASP.NET AJAX允许我们在客户端JavaScript代码中以一种非常简单、直观的形式直接调用服务器端的某个静态Web Method。在调用之前,记住要将ScriptManager的EnablePageMethods属性设置为true:
[System.Web.Services.WebMethod]
public static string SayHello(string name)
{
return string.Format("hello, {0}!", name);
}
随后即可在客户端JavaScript中用下面这行语句直接调用该方法(注意该方法定义在PageMethods中):PageMethods.SayHello("Dflying", cb_sayHello);其中cb_sayHello表示该异步调用完成后将要触发的回调函数。
EnableScriptGlobalization和EnableScriptLocalization属性
用来设定程序对全球化以及本地化的支持.
3.3 管理客户端脚本
ScriptManager会自动将核心脚本文件(MicrosoftAjax.js和Microsoft- AjaxWebForms.js)发送给客户端