私はASPとC#を使って.NETにWebフォームを持っています。このフォームにはDropDownListコントロールのAutoPostBackプロパティがに設定されています。Trueに設定されています。.NET ASP C#でQueryStringを正しく使用するには?
ユーザーがDropDownListからアイテムを選択すると、フォームのデータが表示されます。
ここでは、ユーザーがhttp://www.site.com?ProdID=1234
のようにQueryStringを持つURLをコピーするだけで、自分のデータを共有できるようにしたいと考えています。
私が行っている、これを達成しようとするには、次
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()メソッドを使用します)
私の質問は次のとおりです:ユーザーが選択したものを変更したときに、アイテムをドロップダウンリストから選択し、選択したアイテムのフォームに適切なデータを表示しますか?
私はこれが鶏肉や卵の問題のような気分です。
ありがとうございます。ページはこのように、既存のロジックと一緒に、バックサーバに掲載されているかどうかについて
'場合(Page.IsPostBack && String.IsNullOrEmpty(場合、Request.QueryString [ "ProdID"]))) ' – asawyer