代码之家  ›  专栏  ›  技术社区  ›  Prashant

用户控件javascript[重复]

  •  1
  • Prashant  · 技术社区  · 16 年前

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

    你好,

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

    3 回复  |  直到 16 年前
        1
  •  6
  •   ScottS    16 年前

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

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

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

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

    btw,page.registerclientscriptxxx方法现在已被弃用,clientscriptmanager是首选方法。

        2
  •  1
  •   Jacob Mattison    16 年前

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

        3
  •  0
  •   JMTyler aMarCruz    16 年前

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

    推荐文章