このプロジェクトは、VB サーバー側スクリプトを使用した ASP.NET 用です。
データソースから自分自身を埋めるドロップダウンリストがあります。他のクエリでポストバックしますが、ドロップダウンリストで選択されたアイテムがインデックス 0 にあるものに再送信されるという問題があります。
ポストバック後に選択した値を保持する方法はありますか?
ここにいくつかのコードがあります:
> Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
> If Not IsPostBack Then
> Dim qs = Request.QueryString.GetKey(0)
> Dim po As New ProductObj
> Select Case qs
> Case "br"
> Dim x = Request.QueryString("br")
> Dim y = Request.QueryString("c")
> po.GetCategories(ddlasdf, x)
> Case "ca"
> Dim y = Request.QueryString("ca")
> Dim x = Request.QueryString("b")
> po.GetBrands(ddlasdf, y)
> End Select
> End If
> End Sub
>
> Protected Sub ddlasdf_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlasdf.SelectedIndexChanged
> Dim qs1 = Request.QueryString(0)
> Dim qs2 = Request.QueryString.GetKey(0)
> MsgBox(ddlasdf.SelectedItem.Text)
> Select Case qs2
> Case "br"
> Response.Redirect("List.aspx?br=" & qs1 & "&c=" & ddlasdf.Text)
> Case "ca"
> Response.Redirect("List.aspx?ca=" & qs1 & "&b=" & ddlasdf.Text)
> End Select
>
> End Sub
前もって感謝します。
答え:
だから私はそれを自分で解決しました。クエリ文字列インデックス 1 を取得し、ページの読み込み時に !IsPostBack 内の ddlasdf のテキスト属性として配置しました。みんな、ありがとう。