- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
问题:如何在回发后同时维护内容(来自查询)和两个下拉列表的选定值?
源代码:从这个link下载我的源代码(链接现在有效)。只需添加对 AjaxControlToolkit 的引用
用户操作:从每个下拉列表中选择一个值。单击提交。
回发后: 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
最佳答案
由于依赖下拉列表的项目是在客户端填充的。服务器对此一无所知。您必须在每次回发时填充依赖下拉列表的项目。因此,在您的 page_load 中编写以下代码。
if(!IsPostBack) {
//Some logic
}
else {
//populate child drop down list on the base of selected value of parent drop down.
// you can set the selected value of child control by getting the selected value from Request //object for example write following code to set the value of child control
childControl.SelectedValue = Request[childControl.UniqueID];
}
希望这会有所帮助。
关于c# - AJAX CascadingDropDown ViewState问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2818998/
我正在研究 Kendo UI,任何人都可以提供如何根据级联下拉列表选择值更新 Kendo 网格数据源的解决方案。在 Kendo 演示中,我找到了级联下拉列表示例。 要求: 我有 3 个下拉列表,与 3
我必须动态添加许多 AJAX CascadingDropDown 控件集(具有不同的数据)。数据将从数据库中读取。可以this方法用于动态创建?有一个可以动态添加的 Web 用户控件会更好吗?我不清楚
问题:如何在回发后同时维护内容(来自查询)和两个下拉列表的选定值? 源代码:从这个link下载我的源代码(链接现在有效)。只需添加对 AjaxControlToolkit 的引用 用户操作:从每个下拉
您好,我在使用 CascadingDropDown 的选定值属性时遇到问题。 我有 3 个 asp 下拉控件,每个控件都带有 ajax CascadingDropDown。 我将数据绑定(bind)到
我想知道是否可以在 Ajax 工具包 CascadingDropDon 加载时创建 JavaScript/jQuery 事件。 场景: 我在第一个下拉菜单中选择项目 -> 第二个下拉菜单加载了 Aja
我想通过 javascript (jQuery) 在客户端复制级联下拉列表。 您可以在第一个框中看到要复制的级联下拉列表。它们将通过 AJAX 控件工具包的 CascadingDropDown 控件在
我刚刚从 AJAX 工具包中获得了一个 CascadingDropDown,它与 SelectedIndexChanged 一起使用以重定向到一个传递选定值的查询字符串的页面。我很开心! 但是,我只是
在代码隐藏中我可以这样做来选择一些东西: // Select item in first DropDownList myCascadingDropDown_1.SelectedValue = item
标记 Country Code Web 服务 (~/CountryData.asmx) [WebService(Namespace = "http://tempuri.org/"
如果是怎么办? 您是自己使用 jQuery 还是使用 Microsoft AJAX 工具包? 您是否创建了网络服务或调用了操作? 编辑:请注意,这个问题是在 Microsoft 宣布他们将把 jQue
我可以使用 jQuery 更改 CascadingDropDown 的值,但是触发导致目标控件的子下拉列表填充数据的事件永远不会发生: $("#").change(function() { var
我在 FormView 的 EditItemTemplate 中遇到问题。 当我在 InsertItemTemplate 中使用这样的代码时,一切正常: ' /> 但是当我在 EditItemT
我是一名优秀的程序员,十分优秀!