11.886 messaggi dal 09 febbraio 2002
Contributi
Ripeto: devi attivare il postback a ogni carattere digitato? Oppure alla fine della digitazione? In quest'ultimo caso il postback si dovrebbe attivare premendo Invio.

Enjoy learning and just keep making
254 messaggi dal 01 agosto 2003
mi puoi fare vedere entrambe le soluzioni?
sia ad ogni carattere digitato che alla fine della digitazione?
grazie

victor
11.886 messaggi dal 09 febbraio 2002
Contributi
Ecco un esempio minimale che scatenerà un postback parziale ad ogni carattere digitato. All'interno dell'UpdatePanel comparirà il testo digitato, a dimostrazione che il server ha ricevuto il valore contenuto nella textbox.

Lato pagina aspx:
<script>
    function eseguiPostback() {
        document.getElementById('<%= Button1.ClientID %>').click();
    }
</script>
<asp:TextBox ID="TextBox1" runat="server" onkeyup="eseguiPostback()" />
<asp:Button ID="Button1" runat="server" Text="Invia" OnClick="Button1_Click" style="visibility:hidden;" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="Button1" />
    </Triggers>
    <ContentTemplate>
        <asp:Label id="Label1" runat="server"></asp:Label>
    </ContentTemplate>
</asp:UpdatePanel>

In pratica, il postback viene scatenato da un bottone nascosto, sui cui simulo il click con una funzione javascript che si attiva ad ogni tasto premuto.

Lato codefile c'è semplicemente questo. Ovviamente nel tuo caso il codice sarà più significativo. Il mio è solo un proof-of-concept.
protected void Button1_Click(object sender, EventArgs e)
{
  Label1.Text = "Hai scritto: " + TextBox1.Text;
}


Se invece vuoi attivare il postback solo quando l'utente preme Invio, ti basta togliere questo:
onkeyup="eseguiPostback()"


ciao,
Moreno

Enjoy learning and just keep making
254 messaggi dal 01 agosto 2003
ciao Moreno
grazie.
A cosa servono i trigger?

victor
11.886 messaggi dal 09 febbraio 2002
Contributi
I trigger servono per indicare quali bottoni (o altro genere di controlli) esterni all'UpdatePanel scateneranno il postback parziale.

In questo esempio, se non avessi messo il trigger, Button1 avrebbe scatenato un postback completo, cioè un ricaricamento completo della pagina, dato che si trova al di fuori dell'UpdatePanel.

Qui la documentazione:
https://docs.microsoft.com/en-us/aspnet/web-forms/overview/older-versions-getting-started/aspnet-ajax/understanding-asp-net-ajax-updatepanel-triggers

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.