0

我有一个显示所有付款的“网格”的视图,效果很好。

现在,我还想在该视图中添加一个额外的下拉列表,其中包含商家列表。

我应该怎么做?在我的 PaymentViewModel 中添加另一个字段以获得商家列表?创建两个模型?我可以仅为下拉列表创建部分视图并将其绑定到另一个模型吗?

我是 MVC 的新手,所以欢迎任何想法。

付款.cshtml

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

PaymentsViewModel.cs

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

1 回答 1

2

如果您想要整个视图的一个下拉列表,那么您不会将该列表添加到 PaymentsViewModel,因为这将为每个付款添加一个下拉列表。此外,这个视图模型应该有一个单数名称,因为每个都代表一个项目:PaymentViewModel。

付款.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;}

不过,我将如何解决这个问题在很大程度上取决于您要通过此下拉列表完成的工作。

于 2013-10-10T22:51:11.377 回答