2013-04-11 2 views
0

텍스트와 값이 모두있는 드롭 다운 목록이 있습니다. Page.Request.Form [ "ID1"]에서 데이터를 가져 오려고하면 텍스트가 아닌 값이 반환됩니다. 이 두 가지를 모두 얻을 수있는 방법이 있습니까?양식을 사용하여 드롭 다운 목록 값 검색

<select id="ID1"> 
<option Value="1"> 
Test 
</option> 
<Option Value="2"> 
Test2 
</Option> 
</select> 

감사

+0

Page.Request.Form을 사용하는 이유가 무엇입니까? ID 옆의 코드에서이 코드를 가져와 두 글자를 모두 가져올 수 있습니다. – 99823

+0

드롭 다운 목록 컨트롤은 클라이언트 측에서 동적으로 생성됩니다. 따라서이 기술을 사용할 수 없습니다. – user505210

+0

호기심 - 당신은 클라이언트쪽에 어떤 통제권을 가지고 있습니까? – 99823

답변

0

구문 오류가 있는지 내가 좀 커프를이을 쓰고 있어요

그래서 난 사과 기준에 따라 내 대답을 변경 면 ... 당신은 ... 서버 당신이 이런 일을 할 수있는 측면 ... 그런 다음이

<select name="mySelect"> 
<option value="myName1:myValue1">myName1</option> 
<option value="myName2:myValue2">myName2</option> 
<option value="myName3:myValue3">myName3</option> 
</select> 

같은 형식의 텍스트/값을 통해 전달할 수

var mySelect = Page.Request.Form["mySelect"].ToString(); 
var myText = mySelect.Split(":".ToCharArray()).First(); 
var myValue = mySelect.Split(":".ToCharArray()).Last(); 
+0

드롭 다운 목록 컨트롤은 클라이언트 측에서 동적으로 생성됩니다. 그래서이 기술을 사용할 수 없습니다. – user505210

+0

확인 - 알겠습니다 - 고맙습니다 ... – 99823

+0

좋은 접근 방식입니다. 감사합니다. – user505210

0

만 값의 형식은에 다시 게시 할 수 있습니다.

값을 사용하면 목록에있는 텍스트를 찾을 수 있으며,보기/저장에 필요한 텍스트는 드롭 다운 목록 상자에 보관하십시오. 당신이 그들을 사용할 수 없다면, 다른 하나의 해결책은 당신이 가치를 얻고 자하는 모든 데이터를 지키고 나중에 나눠야한다는 것입니다. 희망 당신은 일반적인 생각

을받을 클라이언트를 제어 할 수 있기 때문에 -

+0

그래서 얻을 길이 없다. Request.Form을 사용하여 드롭 다운 목록에 정의 된 value 속성이있는 경우 텍스트 속성을 직접 입력하십시오. – user505210

+0

@ user505210 예입니다. 폼에있는 모든 항목을 볼 수 있습니다. 단지'Page.Request.Form'을보십시오. – Aristos

0

방법이 있습니다.

webcontrol을 초기화하는 동안 코드에서 드롭 다운 목록을 멤버 변수에 저장하여 참조를 유지하고 초기화하는 동안 Items 컬렉션을 채 웁니다.

그런 다음 초기화 중에 Request.Form (ddl.UniqueID)을 사용하여 게시 된 백 값 (키)을 가져옵니다.

키를 사용하여 드롭 다운 목록에서 항목을 찾으십시오.

dim selectedValue as string = Request.Form(ddl.UniqueID) 
dim theItem as ListItem = Nothing 
If Not IsNothing(ddl.Items.FindByValue(selectedValue)) Then 
    theItem = ddl.Items.FindByValue(selectedValue) 
    dim strText as string = theItem.Text 
End If