0

如何执行

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('<%= btnHiddenBreak.ClientID%>' )。点击() ;。只能注册格式正确的脚本标签。

请指导我犯了什么错误并按照..修复我的代码

4

2 回答 2

3

您是否尝试过使用

ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "OpenModalDialog", "<script type='text/javascript'>document.getElementById('" + btnHiddenBreak.ClientID + "').click() ;</script>", false);
于 2012-09-17T06:29:45.737 回答
1

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

ScriptManager.RegisterStartupScript(
    this.Page, 
    Page.GetType(), 
    "OpenModalDialog", 
    "document.getElementById('<%=tnHiddenBreak.ClientID%>').click();", 
    true);
于 2016-03-22T18:19:55.533 回答