5

ASP と C# を使用して .NET に Web フォームがあります。このフォームには、AutoPostBackプロパティがTrueに設定されたDropDownListコントロールがあります。

ユーザーがDropDownListからアイテムを選択すると、フォーム上の一部のデータが表示されます。

ここで、ユーザーが のように QueryString を含む URL をコピーするだけで、自分のデータを共有できるようにしたいと考えています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 から別のアイテムを選択すると、URL に QueryString があるため、選択したアイテムが Page_Load() によって上書きされることです。(私は QueryString を作成し、イベントの同じページに Redirect() メソッドを使用します)

ここで私の質問は次のとおりです。ユーザーが選択した項目を DropDownList から変更し、選択した項目のフォームに適切なデータを表示するときに、URL のクエリ文字列をオンザフライで変更し続けることは可能ですか?

これは鶏が先か卵が先かの問題のような気がします。

ありがとうございました。

4

1 に答える 1