2009-08-26 3 views
5

우리는 NHibernate와 함께 ASP.NET MVC를 사용하고 있으며 데이터베이스에서 값 (사용자 정의 클래스)을 사용하여 여러 개의 드롭 다운 목록을 만들고 싶습니다. 이것은 실제로 작동하지만 "빈 값"을 처리하는 방법은 무엇입니까? 내 말은, "선택되지 않은"DropdownValue? 뭔가를 같은 "- 선택 -"목록 맨 위에 ...이 조합을 NHibernate, ASP.NET MVC 및 Dropdown 조합 경험이 있습니까?NHibernate, ASP.NET MVC 및 Dropdown 작업

감사합니다.

답변

1

ViewModel 클래스를 사용하면 쉽게 처리 할 수 ​​있다고 생각합니다. 앱에 OrderView이 있고 주문이 표시됩니다. 이보기에는 항목 유형 목록이 포함 된 드롭 다운 "항목 유형"이 있습니다. 보기에 공급한다

모델은 ItemType은 객체의 목록을 포함 OrderViewModel 같은 클래스해야합니다. 컨트롤러가 NHib를 사용하여 DB에서 ItemType 개체 목록을로드하면 컬렉션에 "- SELECT -"와 같은 추가 "특수"항목 유형을 삽입 할 수 있습니다.

즉, Nhibernate 콜렉션 맵핑 특성에 직접 바인드하지 마십시오. Nhibernate를 사용하여 원하는대로 조작 할 수있는 목록에 데이터를로드하십시오.

+1

안녕하세요, HokieMike, 첫 번째 제안에 감사드립니다. 이미 ViewModel 패턴을 사용하고 있습니다. (그런데, 그것은 마스터/세부 사항보기가 게임에 합류하는 경우에 더 까다로워진다) 이것은 내가 지금하고있는 방법이다 :보기에서 나는 SelectList를 돌려주는 커스텀 클래스 속성에서 "AsSelectList"메쏘드를 호출한다. 드롭 다운 유형의 이 메서드 내에서 "--Select--"는 IdValue 1을 사용하여 데이터베이스에서 추가됩니다. 이는 문제없이 작동합니다. 그러나 개체를 저장하는 경우, "- 선택 -"선택하고 "- 선택 -"외래 키 1 아닌 DB "NULL"갖고 싶습니다. – stromflut

0
Html.DropdownList

에서 사용할 수있는 매개 변수 optionLabel 될 것입니다 드롭 다운에서 "조회하기"값을 가지고

가장 좋은 방법

다음 저장 데이터베이스에 "널 (null)"당신은 깨끗한 방법이 있어야합니다 ;)

<%= Html.DropDownList("myDropdown",mylist,"--please choose--" %>