Domanda

Sono nuovo di ASP.NET, e sto avendo un problema ottenere una casella di riepilogo per restituire i dati corretti quando si postano a un'altra pagina. Ho acquistato DropDownList e pulsanti di opzione al lavoro. Per esempio, per la DropDownList, ho semplicemente fatto questo:

Public ReadOnly Property SiteID() As String
    Get
        Return ddlSites.SelectedValue
    End Get

Poi, nella pagina successiva, sono tornato con successo il valore con PreviousPage.SiteID. Tuttavia, quando provo questo per una casella di riepilogo:

Public ReadOnly Property CustID() As String
    Get
        Return lstLoggedInCustomers.SelectedValue.ToString
    End Get
End Property

quindi chiamare utilizzando IndietroPagina, ottengo una stringa vuota, come SelectedIndex è sempre tornando -1, anche se seleziono un elemento nella casella di riepilogo.

È stato utile?

Soluzione

ho avuto una situazione simile. Ho usato l'approccio della user252340 e memorizzare il valore:

Session["MemberName"] = memberName;

e poi nel PageLoad dell'altra pagina ottenere il valore:

 MemberName.Value = Session["MemberName"].ToString();

Spero che questo aiuti

Altri suggerimenti

Il SelectedValue viene letto dal ViewState il postback. Ma il ViewState non è più disponibile nella pagina successiva è. Perché non si salva il SelectedValue nella Sessione in modo da poter fare riferimento ad esso nella pagina successiva?

In questo caso si può persistere il valore nel ViewState prima di reindirizzare a un'altra pagina. Così dalla pagina successiva si chiama proprio come:

Public ReadOnly Property CustID() As String
    Get
        Return viewstate("myCustID") 
    End Get
End Property

Spero che funzionerà.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top