2012-09-17 22 views
0

提高Click事件如何使用ScriptManager.RegisterStartupScript執行從ScriptManager.RegisterStartupScript

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

我試圖像這樣

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 runtime error: Sys.WebForms.PageRequestManagerServerErrorException: The script tag registered for type 'ASP.associates_home_aspx' and key 'OpenModalDialog' has invalid characters outside of the script tags: document.getElementById('<%= btnHiddenBreak.ClientID%>').click() ;. Only properly formatted script tags can be registered.

請指導我我在做什麼錯誤並修復我的代碼按。 。

+1

我對您的代碼有點困惑。你想用onClientClient事件tats執行'openmodalWinBreak()',那麼爲什麼還要使用RegisterStartupScript?我不認爲這是必要的 – Cdeez

+1

我越讀你的代碼,我越陷入困惑。你的要求是什麼?點擊按鈕時發生客戶端點擊事件?另外,你想傳遞一些參數到它? – naveen

回答

3

您是否嘗試過使用

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

你錯過了type屬性值的單引號:'type ='text/javascript'' –

+0

@YuriyRozhovetskiy :: ohh我的壞..謝謝 –

+0

@KrishanuDey:你的腳本類型是什麼? – naveen

1

對於腳本標記,鍵入='text/javascript'是默認值,所以最好的解決方法是排除它。更好的是,完全排除腳本標記並將RegisterStartupScript的最終參數設置爲true,如下所示:

ScriptManager.RegisterStartupScript(
    this.Page, 
    Page.GetType(), 
    "OpenModalDialog", 
    "document.getElementById('<%=tnHiddenBreak.ClientID%>').click();", 
    true); 
相關問題