可能重复:
JavaScript Function Definition in ASP User Control用户可以控制JavaScript
嗨,
我将在一个页面中使用两次,一般的用户控制。有一个javascript asscoiated与它也需要添加。我怎么能把这个添加到一个页面,因为JavaScript会被多次添加。
可能重复:
JavaScript Function Definition in ASP User Control用户可以控制JavaScript
嗨,
我将在一个页面中使用两次,一般的用户控制。有一个javascript asscoiated与它也需要添加。我怎么能把这个添加到一个页面,因为JavaScript会被多次添加。
ClientScriptManager是你正在寻找的它有一套RegisterClientScriptxxx方法来注册字符串/包括文件/资源等作为客户端脚本块。这些方法中的每一个都带有一个键和可选类型的参数,每个键/类型的脚本只包含一次。
在用户控件的onload或OnInit中你要像下面
Page.ClientScriptManager.RegisterClientScriptInclude(typeof(MyUserControl), "myscript", @"/path/to/my/script.js");
呼叫无论用户控制多少实例在页面脚本只会被包含一次。
顺便说一句,Page.RegisterClientScriptxxx方法现在不推荐使用,ClientScriptManager是首选。
感谢 - 自从我参与ASP.NET以来已经有好几年了;可能应该检查这种变化。 – 2010-03-26 13:26:03
我建议您将javascript源代码与控件分开,然后在加载控件两次之前加载JavaScript一次。
我假设这是ASP.NET。如果是这样,在你的代码中,你调用RegisterClientScriptBlock并传递一个密钥。但是在通话之前,您可以调用IsClientScriptRegistered来检查该密钥是否已经注册。这样,只有添加的第一个用户控件才会注册它的javascript,所以它只会被添加到页面一次。
我认为这是ASP.NET?你应该这样说。 – 2010-03-25 20:51:04