使用ViewModel时,asp.net MVC“添加视图”向导不会预先填充字段

时间:2010-10-22 19:33:10

标签: model-view-controller visual-studio-2010 mvvm

在VS 2010中,当您使用“添加视图”向导创建具有强类型视图的编辑视图(例如Models.Person)时,模板会为您生成所有“人员”字段。

如果您使用视图模型,请执行以下操作:

public class PersonVM
{
   public Person person;
   public List<Team> TeamList = new TeamServices().TeamPickList();
   ...
}

模板不会为Model.person创建所有字段。

有没有办法让它发挥作用?

2 个答案:

答案 0 :(得分:1)

不自动。

最简单的方法是创建一个新视图,选择Team作为视图数据类,选择'List'作为视图内容。然后,您可以将从此视图生成的标记剪切并粘贴到您已创建的标记中。

答案 1 :(得分:1)

如果使用List模板,它通常会创建一个表并迭代IEnumerable Model。您还可以在CodeTemplates文件夹中使用其中一个帮助程序和/或自定义模板:

<% Html.DisplayForModel(); %>

如果您需要编辑:

<% Html.EditorForModel(); %>

如果您在列表中遇到问题,可以从其中一个帮助者开始?

<%: Html.DropDownListFor(model => model.TeamList, new SelectList(Model.TeamList)) %>