ASP.NET在updatepanel中使用脚本块
今天,在使用Visual Studio 2008中的AJAX Extensions中的UpdatePanel时,发现无法使用脚本[csharp]
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Panel ID="Panel1" runat="server">
<ul>
<li><span>用户名:</span>
<asp:TextBox ID="txtName" runat="server" CssClass="text2"></asp:TextBox>
</li>
<li>
<span>密 码:</span>
<asp:TextBox ID="txtPass" runat="server" CssClass="text2" TextMode="Password"></asp:TextBox>
</li>
</ul>
<div class="butt">
<asp:ImageButton ID="imgLogin" runat="server" ImageUrl="~/images/home_42.gif" OnClick="imgLogin_Click" />
<asp:ImageButton ID="imgReset" runat="server" ImageUrl="~/images/home_44.gif" OnClick="imgReset_Click" />
</div>
</asp:Panel>
<asp:Panel ID="Panel2" runat="server">
<br />
<asp:Label runat="server" ID="lTip" style="margin-left:20px;"></asp:Label>
<br />
<br />
<asp:ImageButton ID="imgLogout" runat="server" ImageUrl="~/images/home_75.png"
onclick="imgLogout_Click" style="margin-left:120px;" />
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
目的是想,登陆前,显示登陆部分:
而后,登陆后,显示:
然后,在给退出按钮添加JS弹窗事件:
[csharp]
ClientScript.RegisterStartupScript(this.GetType(), "error", "$(function(){asyncbox.alert('您已退出系统!','提示');});", true);
发现没有执行,但也没报错,经过别人的指点与查找MSDN,发现了
ScriptManager.RegisterStartupScript 方法 (Control, Type, String, String, Boolean)
,并且有这样一段话:
[csharp]
使用 ScriptManager.RegisterStartupScript 方法,可为与部分页面呈现兼容且不具有 Microsoft AJAX Library 依赖项的页面注册启动脚本块。仅当正在注册该块的控件位于要更新的 UpdatePanel 控件内时,才将通过使用此方法注册的启动脚本块发送到页面。若要在每次发生异步回发时都注册启动脚本块,请使用该方法的 RegisterStartupScript(Page, Type, String, String, Boolean) 重载。
而后,使用了:
[csharp]
ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "logout", "<script>$(function(){asyncbox.alert('您已退出系统!','提示');});</script>", false);
//此处按MSDN中所说,使用了<script></script>后应该为true,可是使用true却并没有执行,不知为何
补充:Web开发 , ASP.Net ,