I controlli UpdatePanel e UpdateProgress di ASP.NET AJAX 1.0

di Marco Leoncini, in ASP.NET 2.0, ATLAS, AJAX,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi