2012-08-16 5 views
0

내 MVC3 앱에는 두 개의 다른 모델의보기에 두 개의 드롭 다운 '카테고리'와 '하위 카테고리'가 있습니다. 뷰 자체는 세 번째 모델에 속합니다. 나는 ORM을 위해 NHibernate를 사용하고있다.다른 모델의 계단식 드롭 다운

내 질문은 두 개의 드롭 다운을 어떻게 계단식으로 연결합니까? 하위 카테고리 드롭 다운에는 카테고리 드롭 다운에서 선택한 값에 따라 값이 표시되어야합니다. "Category"드롭 다운은 "Categories"모델에서 값을 검색하고 "SubCategory"드롭 다운은 "SubCategories"모델에서 값을 검색합니다. 이 두 개의 드롭 다운은 다른 모델 "비용"에 속한보기로 표시됩니다.

자세한 내용은이 스 니펫 코드를 참조하십시오. 비용보기 드롭 다운을 다음했습니다

@using (Html.BeginForm()) { 
<div class="editor-field"> 
      @Html.DropDownListFor(model => model.CategoryId.CategoryName, new SelectList(new MyExpense.Persistence.Repositories.CategoriesRepository().GetCategoryName())) 
      @Html.ValidationMessageFor(model => model.CategoryId.CategoryName) 
</div> 
<div class="editor-field"> 
     @Html.DropDownListFor(model => model.SubCategoryId.SubCategoryName, new SelectList(new MyExpense.Persistence.Repositories.SubCategoriesRepository().GetSubCategoryName())) 
     @Html.ValidationMessageFor(model => model.SubCategoryId.SubCategoryName) 
</div> 
} 

CategoriesRepository 및 SubCategoriesRepository 데이터베이스에서 카테고리와 SuCategories를 검색하는 방법을 포함하는 클래스입니다.

이 문제에 대한 도움을 주시면 감사하겠습니다.

답변

0

개인적으로 처음 드롭 다운을 입력 한 다음 선택 항목이 변경되면 AJAX 요청을 수행하여 선택한 카테고리 ID에 대한 하위 카테고리 옵션을 요청합니다. 결과에서 하위 카테고리 목록을 다시 작성할 수 있습니다. 체크 아웃 this post

+0

답장을 보내 주셔서 감사합니다 !! 제안 된 솔루션을 시도했지만 SubCategory 드롭 다운이 비어있어 아무 것도 표시하지 않습니다. Category dropwdown에서 값을 선택하면 "CategoryId.CategoryName 키와 함께 제공되지 않은 ViewData"라는 예외가 발생합니다. 나는 경비 Conyroller에서 popualte ViewData를 다음과 같이 수행했다. ViewData [ "CatgeoryId.CategoryName"] = CategoryClass.GetAllCategories(); 이것에 대한 아이디어가 있으십니까 ?? – shw

+0

카테고리 드롭 다운 목록에 대한 클릭 핸들러에 JS를 게시 할 수 있습니까? – MiiisterJim

관련 문제