我正在使用C#构建一个mvc web应用程序。我目前陷入困境的地方是试图添加一个级联下拉列表。我已经看过几篇关于这方面的文章,但是我的用法有很多变化,所以我不知道如何实现它。
我填充下拉列表的信息来自一系列sql表。第一个下拉列表应该显示一个表(其中列出可用的表)中的信息。当用户选择一个选项时,应该创建第二个下拉列表并填充所选表中的信息。
如何实现这个级联下拉列表,它可以从任意多个不同的表中读取?
我相信这将涉及到AJAX/javascript,我对此并不十分熟悉。
为了更好地解释我的数据结构,这是一个管理员跟踪有用信息的应用程序。可能有几个表,如雇员,CompaniesWorkedWith,ProjectsBeingDeveloped,BudgetItems等.然后是包含这些表名的最终查找表。第一个下拉列表将使用此查找表中的信息填充。然后,当用户选择一个项(如Employee)时,第二个下拉列表将从适当的表中获取信息,并将其显示在下拉列表中。然后,用户可以选择和项目(例如单个员工),然后获取该项目的详细信息并将其呈现给用户。最后那部分应该很简单。我只是搞不懂如何让下拉列表在多个表中层叠。应该是动态的,有人可以很容易地进入并将另一个表添加到查找表中,并使其正常工作。
发布于 2014-09-29 16:28:51
您需要实现回调以更新级联控件的数据源。只需适当地使用更新面板,以防止页面回发。如果您使用的是诸如DevExpress、Telerik或ASP.NET这样的框架,那么就有很多选项和示例源代码可供选择。
http://www.codeproject.com/Articles/730953/Cascading-Dropdown-List-With-MVC-LINQ-to-SQL-and-A
编辑:我意识到你是第二个数据源,取决于第二个更动态的数据源。要做到这一点,我将创建自己的数据源,以实现IEnumerable。我有个可能有帮助的东西样本..。我去找找。
编辑2:好的,我看了一下类似于此的代码(不完全相同),但是下面是您如何做到的:
List<string>或List<MyGenericClass>,它有您要填写的任何属性来表示下拉列表中每一行的列。SqlConnection、SqlCommand迭代结果并填充List (或实现IEnumerable的自己的类)。https://stackoverflow.com/questions/26104351
复制相似问题