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.