Как сохранить выбранный элемент из выпадающего списка после обратной передачи

Проект предназначен для 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. Всем спасибо.


person Lendl Leyba    schedule 08.07.2013    source источник
comment
Элемент управления ASP поддерживает эти значения по умолчанию, должна быть какая-то другая причина, покажите нам код.   -  person yogi    schedule 08.07.2013
comment
Вы пытаетесь получить доступ к выбранному значению до повторного заполнения элемента управления? msdn.microsoft.com/en-us/library /ms178472(v=vs.100).aspx   -  person Ant P    schedule 08.07.2013
comment
можете ли вы поделиться своим кодом под событием page_load   -  person Adeel    schedule 08.07.2013
comment
В основном это происходит из-за неправильного размещения метода Databind(). Проверьте места, где вы его привязываете. если он находится в событии page.load(), то это может быть причиной.   -  person Spirals Whirls    schedule 08.07.2013
comment
я добавил несколько кодов. нет, я пытаюсь сохранить выбранное значение.   -  person Lendl Leyba    schedule 08.07.2013
comment
Вы привязываете список к событию загрузки страницы? Если да, то не привязываете ли вы его внутри !IsPostBack?   -  person Saurabh    schedule 08.07.2013
comment
@Saurabh Я думаю, что он делает это внутри po.GetBrands...   -  person Spirals Whirls    schedule 08.07.2013
comment
на самом деле он находится внутри другого класса, вызываемого при загрузке страницы, внутри !IsPostBack и с именем ProductObj.   -  person Lendl Leyba    schedule 08.07.2013
comment
@LeiLeyba, как я видел, скорее всего, это случай привязки данных. Проверьте другие пути и функции, выполняемые при обратной передаче, которые могут выполнять привязку данных. До достижения события TextChanged.   -  person Spirals Whirls    schedule 08.07.2013
comment
@SpiralsWhirls спасибо. на самом деле кода не было, когда я комментировал.   -  person Saurabh    schedule 08.07.2013
comment
Response.Redirect("List.aspx?br=" & qs1 & "&c=" & ddlasdf.Text) разве не должно быть Response.Redirect("List.aspx?br=" & qs1 & "&c=" & ddlasdf.SelectedItem.Text)   -  person Abhitalks    schedule 08.07.2013
comment
@LeiLeyba помещает точку останова в page.load() и проверяет при обратной передаче трассировку стека ddlasdf, если присутствует элемент, который был заполнен ранее. если да, то проверьте свой код, как я уже говорил.   -  person Spirals Whirls    schedule 08.07.2013
comment
@Saurabh ... хорошо, и не имеет значения ..   -  person Spirals Whirls    schedule 08.07.2013
comment
@SpiralsWhirls, сэр, пожалуйста, говорите по-английски, я новичок в ASP. ржу не могу   -  person Lendl Leyba    schedule 08.07.2013
comment
Поэтому я решил это сам. Просто получил индекс строки запроса 1 и поместил его в качестве текстового атрибута для ddlasdf при загрузке страницы внутри !IsPostBack. Всем спасибо.   -  person Lendl Leyba    schedule 08.07.2013
comment
Хорошо.. @LeiLeyba, тогда я думаю, что это идеальное место, чтобы перевернуть страницу и изучить Asp.net Page life cycle и события. Удачи.   -  person Spirals Whirls    schedule 08.07.2013
comment
спасибо @SpiralsWhirls :)   -  person Lendl Leyba    schedule 08.07.2013
comment
@LeiLeyba - Вы должны опубликовать решение как ответ, чтобы его было легче найти в будущем (не все читают комментарии).   -  person Leigh    schedule 18.07.2013
comment
конечно @Leigh, спасибо.   -  person Lendl Leyba    schedule 19.07.2013


Ответы (1)


Поэтому я решил это сам. Просто получил индекс строки запроса 1 и поместил его в качестве текстового атрибута для ddlasdf при загрузке страницы внутри !IsPostBack. Всем спасибо.

person Lendl Leyba    schedule 19.07.2013