2009-02-19 13 views
9

Sto costruendo un nuovo sito Web e desidero utilizzare i controlli Ajax.Ajax Script Manager e Pagine master

Devo mettere un controllo ScriptManager sia su MasterPage che su ogni pagina di contenuto? o Solo sulla MasterPage? (o semplicemente sulla pagina dei contenuti?)

risposta

6

È consentito soltanto di avere uno ScriptManager. Puoi averlo su entrambi. Avendolo sulla pagina master ti salva il compito di aggiungerlo nelle pagine di contenuto. Tuttavia, scrivere script personalizzati all'interno del gestore di script è possibile solo se lo si ha nelle pagine di contenuto. Come indicato di seguito, avere due ScriptManager genera un errore nel caricamento della pagina.

1

Solo la pagina principale. A meno che non si disponga di script personalizzati come quelli sopra menzionati, raccomanderei semplicemente di inserirlo nella Pagina Master in modo da non doverlo mettere su ogni pagina che userà un controllo Ajax.

Se lo avete sia esso getta un errore che dice che si può avere solo una ScriptManager/pagina

1

Quale funzionalità stai cercando? È probabile che sarai in grado di fare altrettanto o più, ma con un ingombro molto più leggero, un codice più performante e un controllo migliore su cosa sta realmente accadendo se invece usi jQuery. Controlla!

+0

Voglio usare i controlli Ajax –

+0

Se si desidera utilizzare Ajax Controls, non ho intenzione di fermarti. Ma se quello che vuoi è quello di ottenere un po 'di quello che ti offre Ajax Controls, penso che sarai sorpreso di vedere che è ancora più facile fare la stessa cosa - meglio - con jQuery. –

+0

L'uso di controlli ajax è buono ma potrebbero esserci casi in cui jquery sarebbe molto utile. Se non l'hai mai usato prima ti consiglio vivamente di controllarlo. Se stai per scrivere qualsiasi javascript, è un salvataggio. –

13

Le pagine di contenuto o MasterPages possono avere solo un controllo ScriptManager su di esse. Se si dispone di un controllo ScriptManager sulla tua MasterPage, è possibile eliminare un controllo ScriptManagerProxy sulle vostre pagine di contenuti di utilizzare qualsiasi funzionalità specifica ASP.NET AJAX in questo modo, per esempio:

<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

Cosa succede se sto usando solo uno dei controlli Ajax nella pagina di contenuto ... ho ancora bisogno del controllo ScriptManagerProxy sulla pagina di controllo? –

+1

Se si desidera utilizzare i controlli ASP.NET AJAX nella pagina del contenuto, non è necessario utilizzare ScriptManagerProxy. – Bullines

1

jQuery vs ASP.NET AJAX è non una "o-domanda o". Sebbene abbiano funzionalità che si sovrappongono, sono molto diff, e io uso entrambi i giorni a seconda dell'attività. Usa jQuery quando possibile, ma MS AJAX aggiunge un sacco di funzionalità di convenienza ASP.NET.

+0

questo dovrebbe essere cambiato in un commento sulla risposta di Tomas Lycken – MGOwen

+0

Per le normali applicazioni web (ASP.NET, J2EE, PHP, ecc.), Ho trovato jQuery come aiuto. Ho appena iniziato a considerare l'utilizzo di Ajax nelle mie parti Web di SharePoint, nelle pagine web part. Da questa prospettiva, che è meglio - ASP.NET AJAX o jQuery? –

Problemi correlati