2011-09-20 1 views
0

ASP.NET DropDownLists (DataSourceID에 의한 SqlDataSource의 select 명령으로 채워짐)에서 만든 일련의 combobox 및 < input> 요소 , 그리고 jQueryUI 자동 완성 플러그인. 당신은 후자 2를 무시할 수있다.데이터 웹 컨트롤 표시 값과 저장 프로 시저에 대한 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라고 가정) 설정 DataTextField로 설정 Name

따라서 (당신이 지시 된 바와 같이, 열 이름이 이름이라고 가정), 드롭 다운리스트는 다음과 같이한다 :

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

Linking MSDN Documentation.

+0

철저한 테스트를 거쳐 승인되었습니다. 고마워요. :) – Chiramisu

+0

사이드 노트에서, 저는 하나의 SqlDataSource를 사용하여 실험하고 있습니다. 그리고 모든 쿼리를 '모두 합쳐서'분리 된 DataTable로 파싱합니다. 가능하거나 스마트한지 확실하지 않지만 아직 학습 중입니다. :) – Chiramisu