使用ClientScriptManager更新面板

时间:2011-08-12 17:19:24

标签: c# javascript jquery asp.net updatepanel

<asp:button runat="server" id="a" onClick="a_Click"/>    

protected void a_Click(object sender, EventArgs e)
{   
    ClientScriptManager cs = Page.ClientScript;
    string script = "PanelVisiable($('#base')); ";
    script += "$('#message').text(' message  ');";
    script += "$('#message').dialog({modal:true,resizable:false,title:'پیغام',height:80,show:'clip',hide:'explode'});";
    cs.RegisterStartupScript(Page.GetType(), "", script, true);

}

此代码工作正常


但是这个

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
  <asp:UpdatePanel ID="UpdatePanel3" runat="server"><ContentTemplate>
 <asp:button runat="server" id="a" onClick="a_Click"/>
 </ContentTemplate></asp:UpdatePanel>

protected void a_Click(object sender, EventArgs e)
{   
    ClientScriptManager cs = Page.ClientScript;
    string script = "PanelVisiable($('#base')); ";
    script += "$('#message').text(' message  ');";
    script += "$('#message').dialog({modal:true,resizable:false,title:'پیغام',height:80,show:'clip',hide:'explode'});";
    cs.RegisterStartupScript(Page.GetType(), "", script, true);

}    

但此脚本不起作用

2 个答案:

答案 0 :(得分:3)

尝试使用ScriptManager.RegisterStartupScript()方法。

请参阅以下MSDN文档:ScriptManager.RegisterStartupScript()

它声明:

  

为一个控件内部注册一个启动脚本块   UpdatePanel使用ScriptManager控件,并添加脚本   阻止页面。

答案 1 :(得分:1)

使用ScriptManager.RegisterStartupScript代替ClientScript.RegisterStartupScript