Вопрос: Как сохранить как содержимое (из запросов), так и выбранное значение обоих выпадающих списков после обратной передачи?AJAX CascadingDropDown ViewState Problem
Исходный код: Скачать мой исходный код этой link (ссылка теперь работает). Просто добавьте ссылку на свой AjaxControlToolkit
Действия пользователя: Выберите значение из раскрывающегося списка. Нажмите «Отправить».
После Postback:StatesDrop
: (Выбранное значение), CitiesDrop
«Выберите город»
До и после:
alt text http://www.aphio.org.vt.edu/test/beforeandafter.GIF
Я считаю, что, когда первый выпадающий получает выбранное значение , второе раскрывающееся меню обновляется и, следовательно, теряет выбранное значение.
C# ответы также приветствуются.
Default.aspx
Active States<br /><asp:DropDownList ID="StatesDrop" runat="server" /><br />
Active Cities<br /><asp:DropDownList ID="CitiesDrop" runat="server" /><br />
<ajax:CascadingDropDown ID="StatesCasc" TargetControlID="StatesDrop"
ServicePath="WebService1.asmx" ServiceMethod="GetActiveStates"
Category="States" runat="server"
PromptText="Select a State" PromptValue="?" />
<ajax:CascadingDropDown ID="CitiesCasc" TargetControlID="CitiesDrop"
ServicePath="WebService1.asmx" ServiceMethod="GetActiveCities"
Category="Cities" runat="server" ParentControlID="StatesDrop"
PromptText="Select a City" PromptValue="?" />
WebService1.asmx.vb
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel
Imports System.Web.Script.Services
Imports AjaxControlToolkit
<System.Web.Script.Services.ScriptService()> _
<System.Web.Services.WebService(Namespace:="http://tempuri.org/")> _
<System.Web.Services.WebServiceBinding _
(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
Public Class WebService1: Inherits System.Web.Services.WebService
<WebMethod()> _
Public Function GetActiveStates (ByVal knownCategoryValues As String, _
ByVal category As String) As CascadingDropDownNameValue()
Dim values As New List(Of CascadingDropDownNameValue)()
'Fill values array'
Return values.ToArray()
End Function
<WebMethod()> _
Public Function GetActiveCities (ByVal knownCategoryValues As String, _
ByVal category As String) As CascadingDropDownNameValue()
Dim values As New List(Of CascadingDropDownNameValue)()
Dim kv As StringDictionary = _
CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues)
Dim SelState As String = ""
If kv.ContainsKey("State") Then SelState = kv("State")
'Fill values array'
Return values.ToArray()
End Function
End Class
Default.aspx.vb
Imports System.Web.Services
Imports System.Web.Script.Services
Imports AjaxControlToolkit
Partial Public Class _Default
Inherits System.Web.UI.Page
Protected Sub Submit_Click(ByVal sender As Object, _
ByVal e As EventArgs) Handles SubmitBtn.Click
ResultsGrid.DataBind()
End Sub
End Class
Когда страница обновляется, выпадающие меню перезагружают их значения? –
Можете ли вы опубликовать файл codebehind Default.aspx? –