【问题标题】:Ajax Script Manager and Master PagesAjax 脚本管理器和母版页
【发布时间】:2010-10-08 16:57:06
【问题描述】:

我正在构建一个新网站并想使用 Ajax 控件。

我是否需要在 MasterPage 和每个内容页面上都放置一个 ScriptManager 控件?还是仅在 MasterPage 上?(或仅在内容页面上?)

【问题讨论】:

    标签: asp.net-ajax master-pages


    【解决方案1】:

    内容页面或 MasterPages 上只能有一个 ScriptManager 控件。如果您的 MasterPage 上有 ScriptManager 控件,则可以将 ScriptManagerProxy 控件拖放到内容页面上,以使用任何给定的特定 ASP.NET AJAX 功能,例如:

    <asp:Content ID="Content1" ContentPlaceHolderID="BodyContent" runat="server">
        <asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
            <Services>
                <asp:ServiceReference Path="~/MyWebServices/YourCoolWebService.asmx" />
            </Services>
        </asp:ScriptManagerProxy>
    
        <%-- more content stuff goes here --%>
    <asp:Content>
    

    【讨论】:

    • 如果我只是在内容页面中使用其中一个 Ajax 控件...我还需要在控件页面上使用 ScriptManagerProxy 控件吗?
    • 如果您只想在内容页面上使用 ASP.NET AJAX 控件,则不需要 ScriptManagerProxy。
    【解决方案2】:

    您只能拥有一个 ScriptManager。你可以把它放在任何一个上。将它放在母版页上可以省去在内容页上添加它的任务。但是,只有在内容页面中有自定义脚本时,才能在脚本管理器中编写自定义脚本。如下所述,拥有两个 ScriptManager 会在加载页面时引发错误。

    【讨论】:

      【解决方案3】:

      您在寻找什么功能?如果您改用jQuery,您可能会做同样多或更多的事情,但占用空间更小,代码性能更好,并且可以更好地控制实际发生的事情。看看吧!

      【讨论】:

      • 我想使用 Ajax 控件
      • 如果您想使用 Ajax 控件,我不会阻止您。但是,如果您想要获得 Ajax Controls 提供的一些功能,我想您会惊讶地发现使用 jQuery 做同样的事情会更容易——更好。
      • 使用 ajax 控件很好,但在某些情况下 jquery 会非常有用。如果您以前从未使用过它,我强烈建议您检查一下。如果您打算编写任何 javascript,那么它就是救命稻草。
      【解决方案4】:

      只是母版页。除非您要使用上面提到的自定义脚本,否则我建议您只将其放在母版页上,这样您就不必将其放在要使用 ajax 控件的每个页面上。

      如果你同时拥有它,它会抛出一个错误,说你只能有一个脚本管理器/页面

      【讨论】:

        【解决方案5】:

        jQuery 与 ASP.NET AJAX 不是一个“非此即彼的问题”。尽管它们具有重叠的功能,但它们非常不同,我每天都根据任务使用它们。尽可能使用 jQuery - 但 MS AJAX 添加了大量 ASP.NET 便利功能。

        【讨论】:

        • 这应该改为对 Tomas Lycken 的回答的评论
        • 对于常规 Web 应用程序(ASP.NET、J2EE、PHP 等),我发现 jQuery 可以提供大量帮助。我刚刚开始考虑在我的 SharePoint Web 部件和 Web 部件页面中使用 Ajax。从这个角度来看,ASP.NET AJAX 还是 jQuery 哪个更好?
        猜你喜欢
        • 2013-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多