【发布时间】:2010-10-08 16:57:06
【问题描述】:
我正在构建一个新网站并想使用 Ajax 控件。
我是否需要在 MasterPage 和每个内容页面上都放置一个 ScriptManager 控件?还是仅在 MasterPage 上?(或仅在内容页面上?)
【问题讨论】:
我正在构建一个新网站并想使用 Ajax 控件。
我是否需要在 MasterPage 和每个内容页面上都放置一个 ScriptManager 控件?还是仅在 MasterPage 上?(或仅在内容页面上?)
【问题讨论】:
内容页面或 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>
【讨论】:
您只能拥有一个 ScriptManager。你可以把它放在任何一个上。将它放在母版页上可以省去在内容页上添加它的任务。但是,只有在内容页面中有自定义脚本时,才能在脚本管理器中编写自定义脚本。如下所述,拥有两个 ScriptManager 会在加载页面时引发错误。
【讨论】:
您在寻找什么功能?如果您改用jQuery,您可能会做同样多或更多的事情,但占用空间更小,代码性能更好,并且可以更好地控制实际发生的事情。看看吧!
【讨论】:
只是母版页。除非您要使用上面提到的自定义脚本,否则我建议您只将其放在母版页上,这样您就不必将其放在要使用 ajax 控件的每个页面上。
如果你同时拥有它,它会抛出一个错误,说你只能有一个脚本管理器/页面
【讨论】:
jQuery 与 ASP.NET AJAX 不是一个“非此即彼的问题”。尽管它们具有重叠的功能,但它们非常不同,我每天都根据任务使用它们。尽可能使用 jQuery - 但 MS AJAX 添加了大量 ASP.NET 便利功能。
【讨论】: