我有一些用外部javascript文件编写的javascript函数。 我已将该文件包含在我的asp.net页面部分中。 但是我无法理解如何从代码隐藏文件中调用函数。 例如,我想在文本框的onkeypress事件上调用某个函数'tacount'。我怎么可能这样做?
答案 0 :(得分:2)
您无法从client side代码中调用server side个功能。
您可以发出javascript来从服务器端代码调用这些函数,但这可能会非常混乱。
不要将javascript函数附加到服务器端事件,而是在客户端执行此操作。
使用jQuery等库将事件附加到客户端的文本框中。
答案 1 :(得分:1)
在所有可以通过代码隐藏的javascript调用中查看here,但基本上您只需要在代码中执行以下操作即可调用以下内容:
ScriptManager.RegisterStartupScript(this,this.getType(),"tacount",'tacount();',true);
这将在客户端完成回发后触发,但建议仅从客户端调用javascript。
修改强>:
您的文件位于外部javascript文件中这一事实并不重要,因为浏览器会将其称为内联javascript。
您所要做的就是在设计师代码中照常使用该功能,即
<asp:TextBox runat="server" onkeypress='return tacount();'/>
答案 2 :(得分:0)
如果要从Code Behind文件中调用JavaScript函数,则应使用@ TBohnen.jnr建议的代码,即:
ScriptManager.RegisterStartupScript(this,this.getType(),"fnMyFunctionNameFromServiceSide_tacount",'tacount();',true);
但是,您应该注意,fnMyFunctionNameFromServiceSide_tacount
不应出现在您的标记代码或任何包含的javascript文件中。
如果要从外部包含的javascript文件调用javascript函数,请使用以下代码:
<asp:TextBox id="myTextBox" runat="server" onkeypress="javascript: return tacount();"/>
但是,如果上述内容对您不起作用,则表示无法找到该功能。在这种情况下,我建议您使用FireBug找到找不到javascript函数的确切原因。可能是函数本身不存在或者函数本身内部存在一些javascript错误。
希望这有帮助。