2013-10-07 87 views
0

是否有可能從一個asp.net服務器控件運行一次性客戶端腳本? 我知道你可以在普通頁面上使用Page.ClientScript.RegisterStartupScript(),但顯然不適用於服務器控制。ASP.Net服務器控制客戶端腳本

回答

1

使用上onClientClick="Javascript_FuncName"屬性

樣品

<asp:Button ID="Button1" runat="server" Text="SAVE & SUBMIT" 
OnClick="BtnSave_Click" onClientClick="return CheckFunction"></asp:Button> 

當你想運行您的服務器端代碼第一次那麼你的客戶端,然後在服務器端代碼末尾添加此行

ClientScript.RegisterStartupScript(GetType(), "Javascript", 
"javascript:FUNCTIONNAME(); ", true); 

如果您使用UpdatePanel,請嘗試像這樣

ScriptManager.RegisterStartupScript(GetType(), "Javascript", 
"javascript:FUNCTIONNAME(); ", true); 
+0

這將運行在服務器代碼之前,但我需要服務器代碼先運行,因此需要從代碼後面觸發它。 – user1166905

+0

然後在您的服務器端代碼 –

+0

結束時調用您的客戶端功能。不起作用,沒有錯誤但功能未被調用。 – user1166905

1

我知道你可以在普通頁面上使用Page.ClientScript.RegisterStartupScript(),但顯然不適用於服務器控件。

是的,它可以在服務器控件上工作。例如,您可以在服務器控件的OnPreRender方法中調用Page.ClientScript.RegisterStartupScript

+0

對不起,它在那裏,但我需要在服務器端的按鈕單擊事件後運行它! – user1166905