ScriptManager的⽤法
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"
asp查看源码配置ui
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属性和fig中的<customErrors>配置节。其中,AllowCustomErrorsRedirct属性指明在异步回发过程中是否进⾏⾃定义错误重定向,⽽AsyncPostBackErrorMessage属性指明当服务器上发⽣未处理异常时要发送到客户端的错误消息。⽰例代码如下所⽰。
protected void Button1_Click(object sender, EventArgs e)
{
throw new ArgumentException(); //抛出异常
}
上述代码当单击按钮控件时,则会抛出⼀个异常,ScriptManger控件能够捕获异常并输出异常,运⾏代码后系统会提⽰异常“回传发⽣异常:值不在预期范围内”。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。