新しい Web サイトを構築していて、Ajax コントロールを使用したいと考えています。
MasterPage と各コンテンツ ページの両方に ScriptManager コントロールを配置する必要がありますか? またはマスターページのみ?(またはコンテンツページのみ?)
新しい Web サイトを構築していて、Ajax コントロールを使用したいと考えています。
MasterPage と各コンテンツ ページの両方に ScriptManager コントロールを配置する必要がありますか? またはマスターページのみ?(またはコンテンツページのみ?)
コンテンツ ページまたは MasterPages は、1 つの 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 は 1 つだけ持つことができます。どちらにもつけられます。マスター ページに配置すると、コンテンツ ページに追加する手間が省けます。ただし、スクリプト マネージャー内でカスタム スクリプトを作成できるのは、コンテンツ ページにカスタム スクリプトがある場合のみです。以下で説明するように、ScriptManager が 2 つあると、ページの読み込み時にエラーがスローされます。
マスターページだけ。上記のようなカスタム スクリプトを用意する場合を除き、ajax コントロールを使用するすべてのページに配置する必要がないように、マスター ページに配置することをお勧めします。
両方にある場合、スクリプトマネージャー/ページは1つしか持てないというエラーがスローされます
どのような機能をお探しですか? 代わりにjQueryを使用すると、同じかそれ以上のことができる可能性がありますが、フットプリントがはるかに軽く、コードのパフォーマンスが向上し、実際に何が起こっているかをより適切に制御できます。見てみな!
jQuery vs ASP.NET AJAX は「どちらか一方の質問」ではありません。重複する機能がありますが、非常に違いがあり、タスクに応じて両方を日常的に使用しています。可能な場合は jQuery を使用しますが、MS AJAX は ASP.NET の便利な機能を大量に追加します。