2011-09-20 55 views
0

我有一系列由ASP.NET DropDownLists製作的組合框(由DataSourceID從SqlDataSource的select命令填充),以及< input> element ,和jQueryUI自動完成插件。你可以忽略後兩者。數據Web控件顯示值與插入ID(外鍵)存儲過程

每個DropDownList控件都代表一個特定的「用戶」類別,並根據該類別的Users表動態填充。這裏的數據庫結構:

Users (ID, Name) -- I use a join to display the Name, but I wish to USE the ID. 
Team (ID, Member1, Member2, Member3) --each member is a foreign key to the 
            --"Users" table and used to populate the 
            --DropDownLists respectively. 

問題:我需要知道如何在控制顯示Name領域,但實際上使用選擇的值作爲輸入的ID到我的存儲過程。

  • 此外,使用單個查詢和SqlDataSource來填充所有下拉菜單會很好。目前,我爲每個13個用戶類別使用了一個單獨的「選擇」語句。

回答

1

此外,這將是很好使用一個單一的查詢和SqlDataSource的 填充所有的下拉菜單。目前,我爲每個13個用戶類別使用單獨的 'select'語句。

不幸的是,您必須使用單獨的數據源,因爲如果您使用SQLDataSource,則不支持此操作。

爲了使用用戶的ID,設置DataValueFieldID(假定列名是ID,如你表示)

爲了顯示用戶的名稱,設置DataTextFieldName(假設列名的名稱,如您所示)

因此,將DropDownList應該是這樣的:

<asp:dropdownList id="your_id" DataTextField="Name" 
DataSourceID="YourSqlDataSourceID" DataValueField="ID" runat="server" /> 

Linking MSDN Documentation.

+0

經過徹底的測試和認可,呵呵。非常感謝:) – Chiramisu

+0

在附註中,我正在嘗試使用單個SqlDataSource,並將所有查詢的'union all'解析爲單獨的DataTable。不知道這是可能還是聰明,但我還在學習:) – Chiramisu