2012-05-01 3 views
0

기본적으로 드롭 다운 목록이있는보기가 있는데 그 목록의 선택에 따라 컨트롤러에서 다른 부분보기가 반환 된 다음 각 부분보기 보기는 다른 부분보기를 반환하는 컨트롤러에 연결하는 또 다른 드롭 다운 목록입니다 ... 나는이 모든 것을 한 번에 저장할 수 있기를 원합니다 ... 최선의 선택은 무엇입니까?제출시 여러 부분 뷰를 저장하는 방법

@Html.LabelFor(m => m.DonationType.DonationTypex) <br /> 
     @Html.DropDownListFor(model => model.DonationType.DonationTypeID, ViewBag.DonationTypes as  
SelectList, htmlAttributes: new { @id = "selectList" }) 
     &nbsp;&nbsp; 
     @Html.ActionLink("Select", "ContinueDonation", "Person", htmlAttributes: new { @id = "btnContinue"  
}) 

<div id="donationSection"></div> 

그리고 JQuery와 바닥에 : 여기

루트 뷰에서 코드의

$("#btnContinue").click(function() { 
     var donationTypeID = $(this).closest('p').find('#selectList').val(); 
     var id = parseInt(donationTypeID); 
     var route = '/Donation/ContinueDonation?dTypeId=' + id; 
     $("#donationSection").load(route); 
     $("#donationSection").show('slow'); 
     return false; 
    }); 

그리고 두 번째보기 각각의 경우에 부분 뷰를 반환하는 컨트롤러 (비슷한 무언가를). 어떤 제안?

+0

다른 생각은 선택한 모든보기에 대해 모든 레이블/편집기 필드를 포함시킨 다음 드롭 다운 값을 기반으로 JQuery로 숨기거나 표시하는 것입니다. 더 좋은 방법이 있는지 궁금하십니까? – 1Canuck16

+0

또는 $ (this)) .closest ("# parentViewDiv"). 하위 뷰에서 부모 뷰로로드 (...) ... – 1Canuck16

+0

양식으로 둘 다 감싸기 만하십니까? – ILya

답변

0

모든 부분 뷰를 저장할 필요는 없지만로드 된 두 번째 뷰만 저장할 수 있습니다. 제 생각에는 중첩 된 부분보기는 아마도 좋은 생각이 아닙니다.