用户控制javascript

时间:2010-03-25 20:48:10

标签: asp.net javascript user-controls

  

可能重复:
  JavaScript Function Definition in ASP User Control

您好,

我有一个通用的用户控件,它将在页面中使用两次。有一个javascript与它相关,也需要添加。如何将此添加到页面,因为javascript将被多次添加。

3 个答案:

答案 0 :(得分:6)

您正在寻找ClientScriptManager它有一组RegisterClientScriptxxx方法,用于将字符串/包含文件/资源​​等注册为客户端脚本块。这些方法中的每一个都接受一个键和一个类型的参数,每个键/类型的脚本只包含一次。

在用户控件的OnLoad或OnInit中,您需要进行如下调用

Page.ClientScriptManager.RegisterClientScriptInclude(typeof(MyUserControl), "myscript", @"/path/to/my/script.js");

无论页面中有多少用户控件实例,脚本都只包含一次。

BTW,现在不推荐使用Page.RegisterClientScriptxxx方法,首选ClientScriptManager。

答案 1 :(得分:1)

我假设这是ASP.NET。如果是这样,在您的代码中,您调用RegisterClientScriptBlock并传递一个键。但在调用之前,您调用IsClientScriptRegistered来检查该密钥是否已经注册。这样,只有添加的第一个用户控件才会注册其javascript,因此只会将其添加到页面一次。

答案 2 :(得分:0)

我建议您将javascript源与控件分开,然后在加载控件两次之前加载一次javascript。