2012-04-24 2 views
2

컨트롤 형식을 결정하는 방법 Request.Form에서 컨트롤 종류를 결정할 수 있습니까?Request.Form

foreach (string x in Request.Form.Keys) 
{         
    if (Request.Form[x] == null || Request.Form[x].ToString() == "") 
    {.... 
나는 각 루프에 대해 알고 싶습니다

는, 제어의 종류 것입니다. 이 텍스트 상자, 목록 상자 등 숨겨진 필드 ...

방법이 작업을 수행 할 수 있습니다

인가?

+0

알아야 할 이유가 있습니까? –

+2

http://stackoverflow.com/questions/1788490/c-how-can-iterator-through-all-checkboxes-on-a-form – corn3lius

+3

@ corn3lius :이 질문과 관련된 내용이 표시되지 않습니다. . OP는 모든 Request.Form.Key의 컨트롤 타입을 원합니다. –

답변

1

강하게 입력 된 컨트롤 개체 대신 Request 컬렉션을 사용하여 수동으로 작업하는 것이 유용합니다. 그러나 모든 컨트롤을 반복하는 것은 거의 모든 경우에 나쁜 생각 일 수 있습니다.

요청 컬렉션의 키를 사용하여 recursiveFindControl()을 수행 할 수 있습니다. FindControl이 null을 반환하지 않으면 컨트롤 유형을 확인하십시오.

제출 된 키가 실제 컨트롤의 ID와 다릅니다. 그것은 일반적으로 같은 같습니다

<input type="text" name="foo$bar$txtFirstName" id="foo_bar_txtFirstName" /> 

"이름"을 컨트롤의 ID 실제 요청 컬렉션에서 키하지만 "ID"입니다. 이것은 추가 매핑 단계를 필요로한다.

0

이것은 불가능합니다. 브라우저는이 정보를 제출하지 않습니다. HTTP 표준에는이 정보를 본질적으로 전송하는 방법이 포함되어 있지 않습니다.

관련 문제