2013-10-10 2 views
0

잘 작동하는 모든 Payments의 "눈금"을 표시하는보기가 있습니다.ASP.NET MVC -보기에 추가 데이터 표시

이제는 해당 뷰에 상인 목록과 함께 추가 드롭 다운을 추가하고 싶습니다.

어떻게해야합니까? 내 PaymentViewModel에 판매자의 목록이있는 다른 필드를 추가 하시겠습니까? 두 모델을 만드시겠습니까? 드롭 다운 목록에 대한 부분보기를 만들어 다른 모델에 바인딩 할 수 있습니까?

저는 MVC를 처음 사용 했으므로 언제든지 환영합니다.

Payments.cshtml

@model IEnumerable<MVC.Web.Models.PaymentsViewModel> 

PaymentsViewModel.cs

public int PaymentID { get; set; } 
public string Merchant { get; set; } 
+1

다릅니다. 두 값을 단일 모델로 다시 게시하고 기본 게시를 사용하려는 경우 단일 모델이 가장 잘 작동합니다. 자바 스크립트 AJAX 호출로 게시하려면 여러 매개 변수로 값을 충분히 쉽게 전달할 수 있습니다. 그러나이 경우에는 별도의 뷰를 만들지 않고도 앱 전체에서'@ Html.DropDownListFor (x => x.Merchant ...);를 사용할 수 있습니다. – ps2goat

답변

2

는 전체 뷰에 대한 하나의 드롭 다운을 원하는 경우, 다음과 같이 PaymentsViewModel에 목록을 추가 할 것 각 결제에 드롭 다운을 추가하는 것입니다. 또한이 뷰 모델은 각각 하나의 항목 인 PaymentViewModel을 나타내므로 단일 이름을 가져야합니다.

Payments.cshtml

@model PaymentsViewModel 

@Html.DropDownFor(... Model.Merchants...)// select into ListItems 

<table>... 
foreach(PaymentViewModel payment in Model.Payments) 
    ...your existing "grid" 

PaymentViewModel.cs

public int PaymentID { get; set; } 
public string Merchant { get; set; } 

PaymentsViewModel.cs

List<MerchantsViewModel> Merchants {get;set;} 
List<PaymentViewModel> Payments {get;set;} 
나는 이것에 대해 갈 것 어떻게

를 많이 당신이 달성하려고에 따라 달라집니다 이 드롭 다운으로.