【问题标题】:Proper way of bringing in jQuery into ASP.NET (or any other external JavaScript)将 jQuery 引入 ASP.NET(或任何其他外部 JavaScript)的正确方法
【发布时间】:2009-04-09 06:01:56
【问题描述】:

下面这三个代码示例有什么区别?一个比其他的更好吗?为什么?

1.Page.ClientScript.RegisterClientScriptInclude(typeof(demo), "jQuery", 
                                                ResolveUrl("~/js/jquery.js"));

2. 
<asp:ScriptManager runat="server">
    <Scripts>
      <asp:ScriptReference Path="~/jquery-1.2.6.min.js" />
      <asp:ScriptReference Path="~/jquery.blockUI.js" />
     </Scripts>
  </asp:ScriptManager>

3. <script type="text/javascript" src="/js/jquery.latest.js"></script> 

我看到人们在他们的示例中使用 jQuery,每个人都以不同的方式将 jQuery 引入 ASP.NET。最好的方法是什么?

【问题讨论】:

    标签: asp.net javascript jquery


    【解决方案1】:

    第一个是

    在服务器端用于添加客户端脚本

    第二个是

    用于管理 asp.net AJAX scripts。如果 jQuery 检测到 ASP.Net AJAX ScriptManager,它将使用它来注册脚本而不是 Page.ClientScript

    第三个是

    注册jquery插件的简单方法

    我通常更喜欢最后一个而不是第二个,但我从不使用 Ajax,只有在回发到服务器后想要添加脚本时才需要第一个

    【讨论】:

      【解决方案2】:

      除非您正在构建用户控件,否则我真的不喜欢选项 1。

      如果我要在该页面上使用 Microsoft AJAX 库,我只使用 ScriptManager。只是把它放在那里添加了很多额外的东西你的页面必须下载(有时用 Firebug 检查一下)。如果资源文件中有 JavaScript,ScriptManager 也可以为您缩小它。但是,如果您更改了 JavaScript,则需要重新编译。

      我通常使用选项 3。

      【讨论】:

        【解决方案3】:

        这取决于您要达到的目标。第一个在渲染期间从服务器端将脚本标记添加到您的页面。这对于添加动态生成的 JavaScript 和类似的东西很有用。

        只有在使用 ASP.NET AJAX 来管理 JavaScript 时,第二个选项才有意义,因为它会在页面上注册大量其他 JavaScript。

        因此,如果您想保持一切干净并且只打算使用 jQuery,请选择选项 3。

        【讨论】:

          【解决方案4】:

          如果我希望将 js 包含在某个用户控件中,但不是在每个页面上都包含,方法 #2 效果很好。脚本管理器还确保我没有重复的脚本引用。如果您希望每个页面都包含 js(因为 jquery 几乎总是如此),那么方法 #3 是最干净的。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-11-08
            • 2012-04-11
            • 1970-01-01
            • 2019-10-01
            • 2010-10-30
            • 2020-07-17
            • 2019-11-23
            • 1970-01-01
            相关资源
            最近更新 更多