ScriptManager微软出的无刷新的控件,在数据量不是非常大的时候用起来真的很方便
脚本管理控件(ScriptManger)是ASP.NET AJAX中非常重要的控件,通过使用ScriptManger能够进行整个页面的局部更新的管理。ScriptManger用来处理页面上局部更新,同时生成相关的代理脚本以便能够通过JavaScript访问Web Service。
ScriptManger只能在页面中被使用一次,这也就是说每个页面只能使用一个ScriptManger控件,ScriptManger控件用来进行该页面的全局管理。创建一个ScriptManger控件后系统自动生成HTML代码,示例代码如下所示。
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
ScriptManger控件用户整个页面的局部更新管理,ScriptManger控件的常用属性如下所示:
q AllowCustomErrorRedirect:指明在异步回发过程中是否进行自定义错误重定向。
q AsyncPostBackTimeout:指定异步回发的超时事件,默认为90秒。
q EnablePageMethods:是否启用页面方法,默认值为false。
q EnablePartialRendering:在支持的浏览器上为UpdatePanel控件启用异步回发。默认值为True。
q LoadScriptsBeforeUI:指定在浏览器中呈现UI之前是否应加载脚本引用。
q ScriptMode:指定要在多个类型时可加载的脚本类型,默认为Auto。
在AJAX应用中,ScriptManger控件基本不需要配置就能够使用。因为ScriptManger控件通常需要同其他AJAX控件搭配使用,在AJAX应用程序中,ScriptManger控件就相当于一个总指挥官,这个总指挥官只是进行指挥,而不进行实际的操作。
1.使用ScriptManger
ScriptManger控件在页面中相当于指挥的功能,如果需要使用AJAX的其他控件,就必须使用ScriptManger控件并且页面中只能包含一个ScriptManger控件。示例代码如下所示。
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text="这是一串字符" Font-Size="12px"></asp:Label>
<br /><br />
<asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True"
ontextchanged="TextBox1_TextChanged"></asp:TextBox>
字符的大小(px)
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
上述代码创建了一个ScriptManger控件和一个UpdatePanel控件用于AJAX应用开发。在UpdatePanel控件中,包含一个Label标签控件和一个TextBox文本框控件,当文本框控件的内容被更改时,则会触发TextBox1_TextChanged事件。TextChanged事件相应的CS代码如下所示。
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
try
{
Label1.Font.Size = FontUnit.Point(Convert.ToInt32(TextBox1.Text)); //改变字体
}
catch
{
Response.Write("错误"); //抛出异常
}
}
2.捕获异常
当页面回传发生异常时,则会触发AsyncPostBackError事件,示例代码如下所示。
protected void ScriptManager1_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
{
ScriptManager1.AsyncPostBackErrorMessage = "回传发生异常:" + e.Exception.Message;
}
AsyncPostBackError事件的触发依赖于AllowCustomErrorsRedirct属性、AsyncPostBackErrorMessage属性和Web.config中的<customErrors>配置节。其中,AllowCustomErrorsRedirct属性指明在异步回发过程中是否进行自定义错误重定向,而AsyncPostBackErrorMessage属性指明当服务器上发生未处理异常时要发送到客户端的错误消息。示例代码如下所示。
protected void Button1_Click(object sender, EventArgs e)
{
throw new ArgumentException(); //抛出异常
}
上述代码当单击按钮控件时,则会抛出一个异常,ScriptManger控件能够捕获异常并输出异常,运行代码后系统会提示异常“回传发生异常:值不在预期范围内”。
分享到:
相关推荐
### AJAX中的ScriptManager实战用法 #### 一、ScriptManager简介与作用 ScriptManager是Microsoft ASP.NET AJAX框架中的一个核心组件,它主要负责管理页面上的AJAX化元素,如UpdatePanel等,并支持客户端脚本资源...
本文将深入探讨ScriptManager控件的使用方法、功能以及其在实际项目中的应用。 一、ScriptManager控件的引入 ScriptManager控件通常放置在ASP.NET Web应用程序的母版页(Master Page)顶部,因为它负责加载和管理...
这个例子是关于如何使用ScriptManager来调用WebService,从而在客户端进行异步数据交互。在Visual Studio 2008+C#环境下,我们可以轻松地构建这样的应用。 1. **ScriptManager概述** ScriptManager是ASP.NET AJAX...
本文将深入探讨ScriptManager的功能、工作原理以及如何通过实例来使用它进行AJAX开发。 ScriptManager主要负责以下几方面的工作: 1. **引入AJAX库**:在ASP.NET AJAX中,ScriptManager自动包含必要的JavaScript库...
现在,让我们结合实例来看`UpdatePanel`、`ScriptManager`和`UpdateProgress`的使用: - 首先,在ASP.NET页面上添加`ScriptManager`控件,确保页面支持AJAX功能: ```html <asp:ScriptManager ID="ScriptManager1" ...
在这个入门系列中,我们将重点关注如何使用ScriptManager控件,它是ASP.NET AJAX框架的核心组件。 **ScriptManager控件概述** ScriptManager控件是ASP.NET 2.0 AJAX扩展的一部分,它在页面中起着至关重要的作用。它...
在JavaScript中,我们使用PageMethods对象来调用Web服务的`HelloWorld`方法,并将结果填充到`resultDiv`元素中。如果发生错误,会弹出一个警告对话框显示错误信息。 最后,确保在Web.config文件中配置了服务允许...
- 但当需要在服务器端进行某些逻辑处理后再显示提示时,直接在客户端写死 JavaScript 代码的方式就不再适用,此时可以使用 `ScriptManager.RegisterStartupScript` 方法动态注册 JavaScript 代码。 #### 实现细节 -...
例如,使用ScriptManager的RegisterAsyncPostBackControl()方法可以将Button1注册为异步提交控件,当Button1被点击时,只会触发其对应的UpdatePanel更新,不会影响其他UpdatePanel。 UpdatePanel支持嵌套使用,这...
ScriptManager必须放在页面的部分的顶部,但必须在任何使用AJAX功能的控件之下。它主要提供了以下功能: 1. **引入ASP.NET AJAX库**:自动添加`<script>`标签,加载MicrosoftAjax.js和MicrosoftMvcAjax.js等核心...
当您尝试在运行.NET Framework 3.5的环境中使用旧版的`asp:ScriptManager`时,系统会因为找不到对应的类型而报错。错误信息通常会提示“基类包括字段'ScriptManager1',但其类型(System.Web.UI.ScriptManager)与控件...
你可以通过`ScriptManager`的`RegisterClientScriptBlock`或`RegisterStartupScript`方法注册自定义的JavaScript代码,或者使用`Scripts`集合添加外部脚本文件: ```csharp ScriptManager....
2. **ScriptManagerProxy**:在复杂的母版页结构中,有时需要在内容页中直接使用ScriptManager的功能,但内容页无法直接访问位于母版页中的ScriptManager。这时,我们可以使用ScriptManagerProxy控件。...
如果页面中使用了Ajax ,则上述代码即使执行也无效果。应对这种情况我们通常采用: ScriptManager.RegisterStartupScript(this.Button1, this.GetType(), “alertScript”, “window.open(‘default2.aspx’);”, ...
### AXP.NET ScriptManager 的简单用法 #### 一、概述 在 ASP.NET AJAX 开发过程中,`ScriptManager` 控件扮演着至关重要的角色。它不仅管理着客户端 Ajax 页面的所有脚本,还在页面中注册了 Ajax 类库,使得页面...
Unity3d ScriptManager脚本管理器插件....设置方法:需要将 Tool_ScriptManager.cs 复制到 Unity 项目中。打开 "Tools/Script Manager" 菜单项,然后将会询问你希望在当前 Unity 项目中的哪个位置放置本地
ASP.NET UpdatePanel 控件使用方法详解 UpdatePanel 控件是 ASP.NET 中的一个重要控件,用于实现页面的异步局部更新。它与 ScriptManager 控件联合使用,可以实现页面的局部更新,而不需要刷新整个页面。下面将详细...
以上就是ASP.NET中AJAX的重要五控件——ScriptManager、ScriptManagerProxy、UpdatePanel和UpdateProgress的基本用法和理解。掌握这些控件的使用,能够帮助开发者有效地实现页面的异步更新,提升用户体验。在实际...