我有一个 ASP.NET MVC 4 应用程序,它有一个视图模型类和大约 20 个表示这个视图模型的视图。此视图的不同之处仅在于用户可以编辑的字段。我想将所有视图合并为一个,并定义可用于以强类型方式编辑的属性列表。理想情况下,我想要这样的东西:
// Action
public ActionResult EditAsEngineer(int id)
{
//...
viewModel.PropertiesToChange = new List<???>()
{
v => v.LotNumber,
v => v.ShippingDate,
v => v.Commentary
};
return View(viewModel);
}
// View
if (@Model.PropertiesToChange.Contains(v => v.LotNumber)
{
@Html.TextBoxFor(m => m.LotNumber)
}
else
{
@Model.LotNumber
}
有可能做这样的事情吗?还是有更好的解决方案?
谢谢你。