Asp.net mvc ASP.NET MVC-在视图中显示其他数据
我有一个视图,显示所有付款的“网格”,效果很好 现在,我还想在该视图中添加一个附加的下拉列表,其中包含商户列表 我该怎么做呢?在my PaymentViewModel中添加另一个字段以获得商户列表?创建两个模型?我可以为dropdownlist创建一个局部视图并将其绑定到另一个模型吗 我是MVC的新手,所以欢迎有任何想法 Payments.cshtmlAsp.net mvc ASP.NET MVC-在视图中显示其他数据,asp.net-mvc,asp.net-mvc-viewmodel,Asp.net Mvc,Asp.net Mvc Viewmodel,我有一个视图,显示所有付款的“网格”,效果很好 现在,我还想在该视图中添加一个附加的下拉列表,其中包含商户列表 我该怎么做呢?在my PaymentViewModel中添加另一个字段以获得商户列表?创建两个模型?我可以为dropdownlist创建一个局部视图并将其绑定到另一个模型吗 我是MVC的新手,所以欢迎有任何想法 Payments.cshtml @model IEnumerable<MVC.Web.Models.PaymentsViewModel> 如果您希望整个视图有一个
@model IEnumerable<MVC.Web.Models.PaymentsViewModel>
如果您希望整个视图有一个下拉列表,那么您不会将列表添加到PaymentsViewModel,因为这将为每个付款添加一个下拉列表。此外,此viewmodel应该有一个单数名称,因为每个都代表一个项目:PaymentViewModel Payments.cshtml
@model PaymentsViewModel
@Html.DropDownFor(... Model.Merchants...)// select into ListItems
<table>...
foreach(PaymentViewModel payment in Model.Payments)
...your existing "grid"
PaymentsViewModel.cs
public int PaymentID { get; set; }
public string Merchant { get; set; }
List<MerchantsViewModel> Merchants {get;set;}
List<PaymentViewModel> Payments {get;set;}
列出商户{get;set;}
列出付款{get;set;}
我将如何进行这项工作,很大程度上取决于您使用此下拉列表试图实现的目标。这取决于您。如果您打算将这两个值作为单个模型重新发布在一起,并且使用默认的发布方式,那么单个模型效果最好。如果您想使用javascript AJAX调用发布,那么可以很容易地将值作为多个参数传入。不过,在本例中,您可以使用
@Html.DropDownListFor(x=>x.Merchant…)代码>贯穿整个应用程序,而不创建单独的视图。
List<MerchantsViewModel> Merchants {get;set;}
List<PaymentViewModel> Payments {get;set;}