Domanda updatepanel asp net 4.0

  • lunedì 27 agosto 2012 14:59
     
     

    uso in una applicazione web form con asp net 4.0 con UpdatePanel in concomitanza dello ScriptManager

    il tutto funziona bene

    una volta inseriti i miei dati in due textbox

    se mi sposto con la barre del browser in un'altra pagina es. quella di microsoft quando torno con il pulsante indietro alla mia web form

    la trovo completamente priva dei dati inseriti .Come posso Risolvere questo problema

    GRAZIE In ANTICIPO


    Mario Serraino

Tutte le risposte

  • lunedì 27 agosto 2012 21:56
     
      Contiene codice

    Ciao Mario,

    per prima cosa potresti settare la proprietà "EnableHistory" dello ScriptManager a True. Poi utilizzare l'evento OnNavigate. Poi potresti salvare il valore delle tue text box, per esempio come segue:

    private void AddHistoryPoint(String key, String text)
    {
        ScriptManager scm = ScriptManager.GetCurrent(this.Page);
        if ((scm.IsInAsyncPostBack == true) && (scm.IsNavigating != true))
        {
                    
            NameValueCollection pageState = new NameValueCollection();
                    
            if (pageState[key] != null)
            {
                pageState[key] = text;
            }
            else
            {
                pageState.Add(key, text);
            }
            scm.AddHistoryPoint(pageState, text);
        }
    }

    e recuperare i valori come segue:

    protected void OnNavigateEvent(object sender, HistoryEventArgs e)
    {
        if (e.State != null)
        {
            if (e.State["key"] != null)
            {
                textBox.Text = e.State["key"];
            }
        }
    }

    Spero di esserti stato di aiuto

    Luca



  • martedì 28 agosto 2012 11:52
     
     

    grazie per la risposta ma se si puo' conservare tutto lo stato della page (con tutti campi griglie etc. in una unica routine)

    inoltre posso fare annullare il pulsante back dell'history di una sola pagina con jquery

    ho adottato questa soluzione con una funzione jquery

    <script type="text/javascript">
            if (window.history.forward(1) != null)
                window.history.forward(1);
            window.status
     </script>

    il mio problema e' che funziona sulla iº pagina es webf1 ma se richiamo una pagina webf2 con un linkbutton non riesco piu' a tornare indietro sulla pagina webf1 con il tasto back

    Ancora Grazie per l'attenzione


    Mario Serraino


  • giovedì 13 settembre 2012 13:07
    Proprietario
     
     

    Ciao Mario,

    Non abbiamo ricevuto aggiornamenti e mi chiedo se possiamo aiutarti ulteriormente o se il problema è stato risolto. Se così fosse, ti prego di fornirci il tuo feedback in modo che la soluzione sia condivisa anche dagli altri appartenenti alla community.

    Grazie,


    Irina Turcu - Microsoft

    [Manifesto] Regole e Aspetti generali all'uso dei forum MSDN

    Questo contenuto è distribuito “as is” e non implica alcuna responsabilità da parte di Microsoft. L'azienda offre questo servizio gratuitamente, allo scopo di aiutare gli utenti e approfondire la loro conoscenza dei prodotti e tecnologie Microsoft.

    LinkedIn

  • giovedì 13 settembre 2012 13:33
     
     

    GRAZIE PER LA RISPOSTA MA ERO IN FERIE

    NON C'E UN MODO PER CONSERVARE TUTTI I TEXTBOX DI UNA PAGINA COMPRESI I DATI DI UNA O PIU' GRIGLIE

    IN POCHE PAROLE VOGLIO CONSERVARE TUTTO QUELLO CHE SULLA PAGINA

    INOLTRE NON ESSENDO ESPERTO MA ALLE PRIME ARMI COME FACCIO A CAPIRE SE UNA PAGINA E GIA' IN MEMORIA E RICHIAMARE QUELLA PAGINA IN MEMORIA

    GRAZIE MILLE


    Mario Serraino