簡體   English   中英

如何實現從多個sql表讀取的級聯下拉列表? C#MVC

[英]How would I implement a cascading dropdown list that reads from multiple sql tables? C# MVC

我正在使用C#構建MVC Web應用程序。 我當前被卡住的地方正在嘗試添加級聯下拉列表。 我已經看過幾篇關於此的文章,但是我的用法相差很大,因此我不確定如何實現它。

我填充下拉列表的信息來自一系列sql表。 第一個下拉列表應顯示一個表(列出可用表)中的信息。 當用戶選擇一個選項時,應創建第二個下拉列表,並用所選表中的信息填充。

我將如何實現這個可以從任意數量的不同表中讀取的級聯下拉列表?

我相信這會涉及到我不太熟悉的AJAX / javascript。

為了更好地說明我的數據結構,這是管理員可用來跟蹤有用信息的應用程序。 可能有幾個表,例如Employees,CompanyWorkedWith,ProjectsBeingDeveloped,BudgetItems等。然后是一個包含這些表名的最終查找表。 第一個下拉列表將使用此查找表中的信息填充。 然后,當用戶選擇一個項目(例如Employee)時,第二個下拉列表將從相應的表中獲取信息,並將其顯示在下拉列表中。 然后,用戶可以選擇和選擇項目(例如單個員工),然后將獲取該項目的詳細信息並將其顯示給用戶。 最后一部分應該很容易。 我只是對如何使下拉列表級聯多個表感到困惑。 有人可以輕松進入並將另一個表添加到查找表並使它正常運行應該是動態的。

您需要實現回調來更新級聯控件的數據源。 只需適當使用更新面板即可防止回發整頁。 如果您使用的是諸如DevExpress,Telerik或ASP.NET之類的框架,那么對於這個確切的東西,有很多選項和示例源代碼。

http://www.codeproject.com/Articles/730953/Cascading-Dropdown-List-With-MVC-LINQ-to-SQL-and-A

編輯:我意識到您是第二個數據源取決於第二個更動態的數據源。 為此,我將創建自己的實現IEnumerable的數據源。 我有一些可能對某些地方有所幫助的示例...我會尋找的。

編輯2:好的,我看了一下與此類似的代碼(不太一樣),但是這是您可以做到的:

  1. 您需要一個通用容器來存儲第二個/第三個/等的值。 下拉列表。 這可能是List<string>List<MyGenericClass> ,具有要填充的任何屬性以表示下拉列表中每一行的列。

  2. 使用SqlConnectionSqlCommand遍歷結果並填充List (或您自己的實現IEnumerable的類)。

  3. 將IEnumerable對象分配給您的下拉列表數據源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM