Ho un modulo web in .NET usando ASP e C#. Questo modulo ha un controllo DropDownList con la sua AutoPostBack proprietà impostata su True.Come utilizzare correttamente QueryString in ASP C# .NET?
Alcuni dati sul modulo vengono visualizzati quando l'utente seleziona un elemento da DropDownList.
Ora, desidero che l'utente sia in grado di condividere i propri dati copiando semplicemente l'URL su cui è presente QueryString come http://www.site.com?ProdID=1234
.
ho fatto quanto segue per cercare di raggiungere questo obiettivo:
protected void Page_Load(object sender, EventArgs e)
{
// check if the URL has a QueryString item if yes the use it.
if (!String.IsNullOrEmpty(Request.QueryString["ProdID"]))
{
ddlProduct.SelectedIndex = ddlProduct.Items.IndexOf(ddlProduct.Items.FindByValue(Request.QueryString["ProdID"]));
}
}
Il problema con questo codice è che quando l'utente sceglie un elemento diverso dal DropDownList sua voce selezionata viene sovrascritto dal Page_Load () dato che ora abbiamo una QueryString sull'URL. (Costruisco QueryString e quindi utilizzo il metodo Redirect() sulla stessa pagina su un evento)
Quindi la mia domanda qui è: è possibile continuare a cambiare la stringa di query dell'URL al volo quando l'utente cambia il selezionato elemento da DropDownList e visualizza i dati corretti nel modulo per l'elemento selezionato?
Ho la sensazione che questo sia come il problema del pollo o dell'uovo.
Grazie.
'if (Page.IsPostBack && String.IsNullOrEmpty (Request.QueryString [ "ProdID"])) ' – asawyer