Проект предназначен для ASP.NET со сценарием на стороне сервера VB.
У меня есть раскрывающийся список, который заполняет себя из источника данных. Он отправляет обратно с другими запросами, но проблема в том, что выбранный элемент в раскрывающемся списке возвращается к тому, что находится в его индексе 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 и поместил его в качестве текстового атрибута для ddlasdf при загрузке страницы внутри !IsPostBack. Всем спасибо.
page_load
- person Adeel   schedule 08.07.2013Databind()
. Проверьте места, где вы его привязываете. если он находится в событииpage.load()
, то это может быть причиной. - person Spirals Whirls   schedule 08.07.2013po.GetBrands
... - person Spirals Whirls   schedule 08.07.2013Response.Redirect("List.aspx?br=" & qs1 & "&c=" & ddlasdf.Text)
разве не должно бытьResponse.Redirect("List.aspx?br=" & qs1 & "&c=" & ddlasdf.SelectedItem.Text)
- person Abhitalks   schedule 08.07.2013Asp.net Page life cycle
и события. Удачи. - person Spirals Whirls   schedule 08.07.2013