Comment utiliser Ajax ScriptManager et ToolkitScriptManager dans la master page et les pages de contenu, respectivement, sans erreurs

J'ai un Script Ajax gestionnaire dans ma page principale depuis mes pages utiliser ajax. Mais dans une de mes pages de contenu, j'ai besoin d'utiliser AutoCompleteExtender dans AjaxControlToolkit qui nécessite l'utilisation de ToolScriptManager disponibles dans la boîte à outils. Mais cela conduit à un message d'erreur indiquant une Seule instance d'un ScriptManager peut être ajouté à la page. J'ai cherché sur internet pour trouver une solution. De nombreux programmeurs suggère l'utilisation de ScriptManagerProxy pour résoudre ce problème. Une autre alternative est d'utiliser ToolscriptManager dans la page principale, au lieu de ScriptManager. Quelqu'un peut merci de montrer comment résoudre ce problème en utilisant ScriptManagerProxy car je pense que c'est une meilleure façon de résoudre le problème?

Voici le code de ma page principale:

<form runat="server" id="bodyForm">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:ContentPlaceHolder ID="ContentPlaceHolderBodyMain" runat="server">
</asp:ContentPlaceHolder>
</form>

Et voici le code de ma page de contenu:

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</asp:ToolkitScriptManager>
<asp:TextBox ID="TextBoxStudentID" runat="server" autocomplete="off"></asp:TextBox>
<asp:AutoCompleteExtender ID="AutoCompleteExtenderStudentID" runat="server" 
EnableCaching="true" BehaviorID="AutoCompleteEx" MinimumPrefixLength="2" 
TargetControlID="TextBoxStudentID" ServicePath="~/CampusMateWebService.asmx" ServiceMethod="GetCompletionListForStudentID" 
CompletionInterval="50" CompletionSetCount="30" 
CompletionListCssClass="autocomplete_completionListElement" CompletionListItemCssClass="autocomplete_listItem" 
CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem" 
DelimiterCharacters=";, :" ShowOnlyCurrentWordInCompletionListItem="true">
<Animations>
<OnShow>
<Sequence>
<%-- Make the completion list transparent and then show it --%>
<OpacityAction Opacity="0" />
<HideAction Visible="true" />
<%--Cache the original size of the completion list the first time
the animation is played and then set it to zero --%>
<ScriptAction Script="//Cache the size and setup the initial size
var behavior = $find('AutoCompleteEx');
if (!behavior._height) {
var target = behavior.get_completionList();
behavior._height = target.offsetHeight - 2;
target.style.height = '0px';
}" />
<%-- Expand from 0px to the appropriate size while fading in --%>
<Parallel Duration=".2">
<FadeIn />
<Length PropertyKey="height" StartValue="0" 
EndValueScript="$find('AutoCompleteEx')._height" />
</Parallel>
</Sequence>
</OnShow>
<OnHide>
<%-- Collapse down to 0px and fade out --%>
<Parallel Duration=".2">
<FadeOut />
<Length PropertyKey="height" StartValueScript=
"$find('AutoCompleteEx')._height" EndValue="0" />
</Parallel>
</OnHide>
</Animations>
</asp:AutoCompleteExtender>

OriginalL'auteur Deepak Joy Jose | 2012-09-04