2

このプロジェクトは、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 のテキスト属性として配置しました。みんな、ありがとう。

4

1 に答える 1