У меня есть веб-форма в .NET с использованием ASP и C#. Эта форма имеет DropDownList управление с ее AutoPostBack свойство настроено на True.Как правильно использовать QueryString в .NET ASP C#?
Некоторые данные в форме отображаются, когда пользователь выбирает элемент из DropDownList.
Теперь я хочу, чтобы пользователь мог поделиться своими данными, просто скопировав URL-адрес, на котором есть QueryString, например http://www.site.com?ProdID=1234
.
я сделал следующее, чтобы попытаться сделать это:
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"]));
}
}
Проблема с этим кодом является то, что, когда пользователь выбирает другой элемент из DropDownList его или ее выбранный элемент получает перезаписаны Page_Load (), так как у нас теперь есть URL-адрес QueryString. (Я создаю QueryString, а затем использую метод Redirect() на той же странице в событии).
Итак, мой вопрос здесь: возможно ли изменять строку запроса URL на лету, когда пользователь изменяет выбранную из списка DropDownList и отобразить правильные данные в форме для выбранного элемента?
У меня такое ощущение, что это похоже на проблему с курицей или яйцом.
Спасибо.
'если (Page.IsPostBack && String.IsNullOrEmpty (Request.QueryString [ "ProdID"])) ' – asawyer