【问题标题】:What are benefits of using a ScriptManager instead of just a client side <script> tag?使用 ScriptManager 而不仅仅是客户端 <script> 标签有什么好处?
【发布时间】:2010-10-27 17:55:50
【问题描述】:

我正在编写一个小的 asp.net WebForms 应用程序。使用 Jquery。与仅使用标记导入我的 Jquery 和自定义 javascript 代码相比,使用 ASP.Net ScriptManager 控件有什么好处吗?

【问题讨论】:

    标签: asp.net jquery


    【解决方案1】:

    您必须在页面上使用 ScriptManager 控件来启用 ASP.NET 的以下 Microsoft Ajax 功能:

    • 客户端脚本功能 Microsoft Ajax 库和任何 您要发送的自定义脚本 到浏览器。了解更多信息, 请参阅创建自定义客户端脚本 使用 Microsoft Ajax 库。
    • 部分页面呈现,它启用 页面上的区域是 独立刷新没有 回发。 ASP.NET 更新面板, UpdateProgress 和 Timer 控件 需要一个 ScriptManager 控件 为了支持部分页面 渲染。
    • 用于 Web 的 JavaScript 代理类 服务,使您能够使用 用于访问 Web 服务的客户端脚本 和特别标记的方法 ASP.NET 页面。它通过 暴露 Web 服务和页面 方法作为强类型对象。
    • 用于访问 ASP.NET 的 JavaScript 类 身份验证、配置文件和角色 应用服务。

    如果您不使用 Ajax,则无需使用脚本管理器,也不会获得任何好处。

    来源: http://msdn.microsoft.com/en-us/library/bb398863.aspx

    【讨论】:

    • 也许你的意思是“如果你没有使用 ASP .Net Ajax”。您可以在 ASP .Net 应用程序中使用 Ajax 而无需使用 ScriptManager。
    【解决方案2】:

    如果您不使用 ASP .Net Ajax 框架,则无需使用 ScriptManager,它只会将 kb 广告到您的页面。 JQuery 决不依赖于ScriptManager,所以我建议只使用脚本标签来导入您的 javascript 代码。

    【讨论】:

      【解决方案3】:

      嗯,对于“普通”的 jQuery + JS 代码没有真正的好处,但看到好处listed on MSDN,ScriptManager 是有原因的:

      • 注册与部分页面更新兼容的脚本。为了管理您的脚本和核心库之间的依赖关系,您注册的任何脚本都会在 Microsoft Ajax 库脚本之后加载。
      • 指定是否将发布或调试脚本发送到浏览器。
      • 通过向 ScriptManager 控件注册 Web 服务,从脚本提供对 Web 服务方法的访问。
      • 通过向 ScriptManager 控件注册这些服务,从客户端脚本提供对 ASP.NET 身份验证、角色和配置文件应用程序服务的访问。
      • 在浏览器中启用 ECMAScript (JavaScript) 日期、数字和字符串函数的文化特定显示。
      • 使用 ScriptReference 控件的 ResourceUICultures 属性访问嵌入式脚本文件或独立脚本文件的本地化资源。
      • 使用 ScriptManager 控件注册实现 IExtenderControl 或 IScriptControl 接口的服务器控件,以便呈现客户端组件和行为所需的脚本。

      【讨论】:

        猜你喜欢
        • 2017-11-14
        • 1970-01-01
        • 2020-06-18
        • 1970-01-01
        • 1970-01-01
        • 2018-02-02
        • 2019-12-23
        • 2017-01-09
        • 2013-06-20
        相关资源
        最近更新 更多