从ScriptManager.RegisterStartupScript中提升Click事件

时间:2012-09-17 06:15:26

标签: javascript asp.net asp.net-ajax

如何执行

document.getElementById("<%= btnHiddenBreak.ClientID%>").click() 

使用ScriptManager.RegisterStartupScript

我正在尝试这样

ScriptManager.RegisterStartupScript(
    this.Page, 
    Page.GetType(), 
    "OpenModalDialog", 
    "<script type=text/javascript>document.getElementById('<%= tnHiddenBreak.ClientID%>').click() ;</script>", 
    false);`

但它正在抛出错误。

按钮的Asp代码是

<asp:Button id="btnHiddenBreak" runat="server" 
    Visible="false" 
    OnClientClick="openmodalWinBreak();" 
    OnClick="btnHiddenBreak_Click" />

我得到的错误信息是: -

  

Microsoft JScript运行时错误:   Sys.WebForms.PageRequestManagerServerErrorException:脚本标记   注册类型'ASP.associates_home_aspx'和密钥   'OpenModalDialog'在脚本标记之外包含无效字符:   的document.getElementById('&LT;%=   btnHiddenBreak.ClientID%&gt;')。click();.只有正确   格式化的脚本标签可以注册。

请指导我正在做的错误并修改我的代码...

2 个答案:

答案 0 :(得分:3)

您是否尝试过使用

ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "OpenModalDialog", "<script type='text/javascript'>document.getElementById('" + btnHiddenBreak.ClientID + "').click() ;</script>", false);

答案 1 :(得分:1)

对于脚本标记,键入='text / javascript'是默认值,因此最佳解决方案是排除它。更好的是,完全排除脚本标记并将RegisterStartupScript的最终参数设置为true,如下所示:

<logger name="Event" level="INFO" additivity="false">
    <appender-ref ref="STDOUT"/>
</logger>