VB.NET - сохранить статус выпадающего списка, не помещая код в «Not IsPostBack» - PullRequest
0 голосов
/ 15 июля 2011

У меня есть 2 выпадающих списка "страны" и "города", с 2 источниками данных:

  1. Если пользователь выбирает первый индекс в странах ddl, он может видеть все города мира в городах ddl (использует источник данных1).

  2. Если пользователь выбирает страну, он может видеть города, соответствующие выбранной стране (использует источник данных2). Я поместил код для изменения источника данных в код, стоящий за использованием vb.net, в Page_Load, но после того, как пользователь выбрал город и нажал кнопку отправки, выпадающий список городов не может сохранить статус, он переходит к первому индексу это ддл.

Я пытался поместить этот код в If Not IdPostBack, но вот так он не меняет источник данных, в то время как он может сохранять статус выпадающего списка.

Так у кого-нибудь есть представление об этой проблеме?

Я поставил код здесь как ссылку:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim ddlCities As DropDownList
Dim ddlCountries As DropDownList
ddlCities = CType(PN_Search.FindControl("DropDownList_Cities"), System.Web.UI.WebControls.DropDownList)
ddlCountries = CType(PN_Search.FindControl("DropDownList_Countries"), System.Web.UI.WebControls.DropDownList)
Dim countrySelect As String
countrySelect = ddlCountries.SelectedValue
Dim rechercheCitiesNull As String = "SELECT * FROM Cities WHERE id_city=1"
Dim rechercheCitiesNotNull As String = "SELECT * FROM [View_Country_City] Where id_country=" & countrySelect 

If countrySelect = "" Then
Me.RechercheCitiesDS.SelectCommand = rechercheCitiesNull
ddlCities.EnableViewState = True
ddlCountries.EnableViewState = True
ddlCities.DataBind()
ElseIf countrySelect <> "" Then
Me.RechercheCitiesDS.SelectCommand = rechercheCitiesNotNull
ddlCities.DataBind()

End If
End Sub

Заранее спасибо! Ziliu

1 Ответ

0 голосов
/ 15 июля 2011

EnableViewState, и это должно исправить вашу проблему.Сохраняйте привязку, не используя page.ispostback.

...