L'UpdatePanel rappresenta il centro nevralgico di ASP.NET AJAX 1.0 Extensions e consente l'aggiornamento solo di una porzione dell'intera pagina.
Per utilizzare l'UpdatePanel per prima cosa è necessario aggiungere alla pagina uno ScriptManager con la proprietà EnablePartialRendering impostata su true, che è anche il valore predefinito.
<asp:ScriptManager ID="ScriptManager1" runat="server" />
In seguito si può aggiungere l'UpdatePanel:
<asp:UpdatePanel ID="MyUpdatePanel" runat="server"> <ContentTemplate> <asp:GridView ID="MyGridView" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="GameID" DataSourceID="GameWareHouseObjectDataSource"> <Columns> <asp:CommandField ShowEditButton="True" /> <asp:BoundField DataField="GameName" HeaderText="Nome" SortExpression="GameName" /> <asp:CheckBoxField DataField="InStock" HeaderText="Disponibile" SortExpression="InStock" /> </Columns> </asp:GridView> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="AvaliabilityDropDownList" EventName="SelectedIndexChanged" /> </Triggers> </asp:UpdatePanel>
Da questo momento ogni chiamata sincrona eseguita dai controlli dichiarati all'interno del tag ContentTemplate, che generalmente causa un PostBack, sarà "catturata" dall'UpdatePanel e trasformata in una chiamata asincrona.
E' possibile inoltre dichiarare, mediante i triggers, eventi esterni all'UpdatePanel che inizieranno una nuova chiamata asincrona.
Per fare in modo che l'utente capisca che l'applicazione è impegnata nello svolgimento di una chiamata asincrona è possibile aggiungere alla pagina un controllo di tipo UpdateProgress, così da decidere per esempio di mostrare un semplice testo, tramite la proprietà ProgressTemplate.
<asp:UpdateProgress ID="MyUpdateProgress" runat="server" > <ProgressTemplate> Aggiornamento... </ProgressTemplate> </asp:UpdateProgress>
Impostando la proprietà AssociatedUpdatePanelId è possibile specificare per quale UpdatePanel mostare il feedback.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare parametri a livello di controller nel routing di ASP.NET Core
Catturare la telemetria degli eventi di output cache in ASP.NET Core
Cache policy su route groups di Minimal API in ASP.NET Core 7
Gestire dati sensibili nella configurazione in ASP.NET Core
Definire la durata dell'output cache in ASP.NET Core 7
Gestire tipi complessi in query string grazie a IParsable in ASP.NET Core 7.0
Gestire la query string nell'output cache di ASP.NET Core
Taggare la output cache in base al routing in ASP.NET Core
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Migrare un progetto ASP.NET Core da .NET 6 a .NET 7
Raggruppare i parametri di una minimal API in un singolo oggetto in ASP.NET Core