过去,我一直在使用这种好的解决方案来管理视图中的多个选定项目:
现在我有一个类似的问题,我认为这种方法可能会有所帮助。我的模型有一个订单表,可以匹配很多产品。在“创建”视图上,我想使用具有“产品”和“数量”输入的DDL将产品添加到我的订单中。这些作品带有添加项按钮和模式:
ViewModels:
public class SelectProductEditorViewModel
{
public int Quantity { get; set; }
public long ProductId { get; set; }
public Models.Product Product { get; set; }
}
public class CreateOrderViewModel
{
public CreateOrderViewModel()
{
this.Products = new List<SelectProductEditorViewModel>();
}
public IEnumerable<long> getSelectedProductIds()
{
return (from p in this.Products where p.Quantity > 0 select p.ProductId).ToList();
}
public IEnumerable<int> getSelectedProductQuantities()
{
return (from p in this.Products where p.Quantity > 0 select p.Quantity).ToList();
}
public List<SelectProductEditorViewModel> Products { get; set; }
public List<SelectListItem> ProductList { get; set; }
}
可以使用这种方法来实现吗? (我曾尝试过使用JS进行其他解决方案并工作,但我认为使用ViewModel和本机MVC工具是解决此问题的更好方法...)