2010-01-03 18 views
8

Avevo un UpdatePanel ASP per aggiornare un gridview che funzionava bene, ora volevo usare anche AjaxControlToolkit per alcuni dei controlli presenti, ma dopo aver effettuato il cablaggio di tutto quando corro ottengo un erroreÈ possibile aggiungere una sola istanza di ScriptManager alla pagina

"Only one instance of a ScriptManager can be added to the page." 

nonostante il fatto che ho commentato fuori la ScriptManager ASP e sto usando il toolkitscriptmanager. tuttavia, tieni presente che sto ancora utilizzando ASP UpdatePanels.

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"> 
        </asp:ToolkitScriptManager> 

        <!-- <asp:ScriptManager ID="ScriptManager1" runat="server"> 
           </asp:ScriptManager>--> 

Qualche idea su cosa potrebbe andare storto qui?

risposta

13

Si sta utilizzando un commento HTML per nascondere un tag del server ASP.NET. Utilizzare un commento server invece:

<%-- <asp:ScriptManager ID="ScriptManager1" runat="server"> 
          </asp:ScriptManager> --%> 

ASP.NET ignora commenti HTML proprio come ignora tutti i tag senza un runat = "server" su di loro o che non iniziano con <%.

+4

Un modo semplice per commentare nel modulo web (ed evitare tali errori) è usare il tasto di scelta rapida CTRL + K, C per commentare e CTRL + K, U per decommentare. In code-behind, puoi posizionare il cursore ovunque su una riga per commentare/commentare; nel modulo web, la selezione evidenziata deve iniziare e terminare nel punto in cui si desidera commentare. –

+1

Io uso questi tasti di scelta rapida tutto il tempo! È molto veloce selezionare più righe (o, come dici tu, non selezionare nulla) ed essere in grado di commentare un po 'di codice. Ottimo per eseguire il debug dei misteri in cui si desidera eliminare temporaneamente codice o markup. – Eilon

7

Il messaggio di errore originale indica che si tenta di disporre di più oggetti ScriptManger. Tale scenario sarebbe presente se si utilizza un ScriptManager in MasterPage e in una singola pagina che eredita la pagina principale. Per evitare ciò, c'è <Asp:ScriptManagerProxy> che funziona come un altro ScriptManager, sebbene passi solo le chiamate all'oggetto ScriptManager nella pagina principale.

Problemi correlati