Ajax脚本管理器和母版页

时间:2009-02-19 21:12:19

标签: asp.net-ajax master-pages

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

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

5 个答案:

答案 0 :(得分:13)

内容页面或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>

答案 1 :(得分:6)

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

答案 2 :(得分:1)

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

如果你同时使用它会抛出错误,说你只能有一个scriptmanager / page

答案 3 :(得分:1)

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

答案 4 :(得分:1)

jQuery vs ASP.NET AJAX不是“问题或者问题”。虽然它们具有重叠的功能,但它们非常不同,我每天都根据任务使用它们。尽可能使用jQuery - 但MS AJAX增加了大量的ASP.NET便利功能。