Mam formularz sieci web w .NET przy użyciu ASP i C#. Ten formularz ma kontrolkę DropDownList z jego właściwością AutoPostBack ustawioną na True.Jak prawidłowo używać QueryString w .NET ASP C#?
Niektóre dane w formularzu są wyświetlane, gdy użytkownik wybierze element z DropDownList.
Teraz chcę, aby użytkownik mógł udostępniać swoje dane, kopiując adres URL z tekstem QueryString, takim jak http://www.site.com?ProdID=1234
.
Zrobiłem następujące czynności, aby spróbować osiągnąć ten cel:
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"]));
}
}
Problem z tym kodem jest, że gdy użytkownik wybierze inną pozycję z DropDownList jego lub jej wybrany element zostaje zastąpione przez Page_Load (), ponieważ mamy teraz QueryString na URL. (Buduję QueryString, a następnie używam metody Przekierowania() na tę samą stronę w Wydarzeniu)
Moje pytanie brzmi: czy możliwe jest ciągłe zmienianie ciągu zapytań adresu URL, gdy użytkownik zmieni wybrane element z DropDownList i wyświetlić odpowiednie dane w formularzu dla wybranego elementu?
Mam przeczucie, że to jest jak problem z kurczakiem lub jajkiem.
Dziękuję.
'if (Page.IsPostBack && string.IsNullOrEmpty (Request.QueryString [ "ProdID"])) ' – asawyer