9

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

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

4

5 回答 5

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>
于 2009-02-19T21:51:16.260 回答
6

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

于 2009-02-19T21:14:59.727 回答
1

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

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

于 2009-02-19T21:14:38.527 回答
1

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

于 2009-02-19T21:20:22.990 回答
1

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

于 2009-10-19T05:34:32.377 回答