ASP.Net  »  F.A.Q. 

Si può eseguire il postback dell'intera pagina usando un pulsante in un UpdatePanel?

Sì. Per impostazione predefinita, tutti i postback generati da oggetti posti all'interno di un UpdatePanel di AJAX causano il cosiddetto partial rendering, ovvero l'aggiornamento della sola parte di pagina contenuta nel suddetto pannello. Se, tuttavia, si vuole fare in modo che, ad esempio, uno dei pulsanti contenuti nell'UpdatePanel determini il postback dell'intera pagina, sì deve configurare la proprietà Triggers del controllo:

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:Label runat="server" Text="Label" ID="Label1"></asp:Label>
        <asp:Button runat="server" Text="Aggiorna solo l'UpdatePanel" ID="btnAggiornaUpdatePanel"
            OnClick="btnAggiornaUpdatePanel_Click" />
        <asp:Button runat="server" Text="PostBack della pagina" ID="btnPostBack" OnClick="btnPostBack_Click" /></ContentTemplate>
    <Triggers>
        <asp:PostBackTrigger ControlID="btnPostBack" />
    </Triggers>
</asp:UpdatePanel>

All'interno del tag Triggers abbiamo specificato un elemento PostBackTrigger, impostando la sua proprietà ControlID su btnPostBack. Essa fa in modo che il pulsante btnPostBack, anche se è inserito nell'UpdatePanel, determini il postback dell'intera pagina. L'altro bottone, invece, come già accennato effettua l'aggiornamento solo del contenuto del pannello.

Guide ASP.Net

Guida Windows Azure Code Snippets

Le migliori pratiche per far girare le applicazioni "in the cloud",...

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Altre guide