在我的MVC应用程序中,我有一个看起来与此类似的View Model:
public class ComplexViewModel
{
public ComplexDetailsViewModel Details1 { get; set; }
public ComplexDetailsViewModel Details2 { get; set; }
}
public class ComplexDetailsViewModel
{
public int Id { get; set; }
public string DisplayValue1 { get; set; }
public string DisplayValue2 { get; set; }
// ...
}
Run Code Online (Sandbox Code Playgroud)
我原本在以下视图中执行以下操作:
@Html.HiddenFor(model => model.Details1.Id)
@Html.HiddenFor(model => model.Details2.Id)
@Html.DisplayFor(model => model.Details1.DisplayValue1)
...
Run Code Online (Sandbox Code Playgroud)
我会将完整的模型发布到控制器:
public ActionResult Post(ComplexViewModel model)
Run Code Online (Sandbox Code Playgroud)
除了Id值之外,我实际上并不需要ComplexViewModel中的任何内容,因此我决定创建另一个专门用于POST数据的视图模型:
public class PostViewModel
{
public int Details1Id { get; set; }
public int Details2Id …Run Code Online (Sandbox Code Playgroud)