【发布时间】:2014-10-11 11:15:27
【问题描述】:
我想在同一个视图中创建一个包含子/相关对象的父对象。 一个例子是:创建一个父亲(有一些名字)和他的所有儿子(有他们的名字)。我创建了一个视图模型:
public class FatherViewModel {
public Father father {get; set;} // has 1 property Name
public List<Son> {get; set;} // has 1 property Name
}
我的问题是,我如何在发布帖子时从视图中获取 Sons 列表? 我尝试对每个 Son id 使用 HiddenFor,但无论如何,返回控制器时列表为空。
更新:
我尝试了下面描述的 Shyju 的编辑器模板示例,但我的编辑器从未被调用。 我有 1 个对象:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public int? FatherId { get; set; }
public virtual ICollection<Person> Children { get; set; }
}
我这样做了:
- 为具有索引、创建、编辑功能的 Person 搭建了一个完整的控制器......
- 在 Views->Person 中创建了 EditorTemplates 文件夹
-
创建的 Person.cshtml:
@model TestEditorTemplate.Models.Person <div> <h4>Child</h4> @Html.TextBoxFor(s => s.Name) @Html.HiddenFor(s => s.Id) </div> 在 Create.cshtml 中添加了
@Html.EditorFor(m => m.Children)
问题:
-
@Html.EditorFor(m => m.Children)如何可能与 当m.Children是Person的集合而不是单个时的编辑器模板Person? - 我想同时创建(而不是编辑)一个包含孩子的父亲。这意味着我没有要传递给 Create 视图的 ID。这怎么行?从 Shyju 的示例中,ID 已经预先创建?还是我只是误解了这个例子?
【问题讨论】:
-
请发表您的看法
标签: asp.net-mvc entity-framework asp.net-mvc-4 viewmodel