2009-05-22 5 views
1

null 값을 처리 할 수있는 ASP.NET MVC에서 드롭 다운을 만드는 방법은 무엇입니까?asp.net MVC 드롭 다운에서 null 값 처리

응용 프로그램은 기본 키가 조회 테이블, 즉 범주에 있고 외래 키가 다른 테이블, 즉 CategoryID에 있지만 조회 ID가 OPTIONAL 인 조회 필드입니다 (즉, null을 포함 할 수 있음).).

나는 다음과 같이 보일 것입니다 사용자의 웹 페이지에서 생성 된 마크 업을 상상 :

<select id="foo"> 
    <option value="">(Not Specified)</option> 
    <option value="1">Alpha</option> 
    <option value="2">Bravo</option> 
    <option value="3">Charlie</option> 
</select> 

나는 사용자 정의 Html 헬퍼를 작성하지 않고도 이런 일을 할 수 있습니까? 시간이 절약되면 기본 모델에 제대로 바인딩됩니까?

답변

2

도우미를 쓸 필요가 없습니다. 그것은 이미 존재합니다. optionLabel 인수를 취하는 Html.Select 오버로드 중 하나를 사용하십시오. "(지정되지 않음)"으로 설정하십시오.

+1

너무 간단했습니다. :) intellisense를 grok하지 않은 것 같아요. "null이 아닌 경우 기본 빈 값 옵션에 텍스트를 제공합니다." 어쨌든 MVC 샌드 박스에서 재생해서는 안되지만 그래도 마크 업에 대해 잘 이해하지 못했다면 전혀 의미가 없습니다. 또한 "null이 아닌 경우"문구가 거꾸로 보입니다. 어쨌든 도움에 감사드립니다. 언젠가는 물어볼 필요가 있습니다. –

+1

"null이 아닌 경우"라고 말하면 옵션 라벨을 참조한다고 가정합니다. 이것이 작동하는 것처럼 보이는 점은 null (또는 설정하지 않은 또 다른 오버로드)을 지정하면 빈 옵션을 전혀 표시하지 않는다는 것입니다. 그렇지 않으면, 빈 문자열 (null이 아닌)을 포함하여 지정한 내용이 공백 옵션 텍스트로 사용됩니다. – GalacticCowboy

+0

그래, 묘사가 더 좋을 수도있어. –

1

또한 바인딩 할 필드는 모두 nullable이어야합니다.이 경우 문자열 또는 nullable int 여야합니다.

관련 문제