2013-10-07 86 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