使用用户输入填充模型列表属性

时间:2013-01-18 07:53:36

标签: asp.net-mvc

考虑以下模式类 -

public class UserLakshya
{
    [Key, Column(Order=0)]
    public int Id { get; set; }
    public string Title { get; set; }
    public DateTime StartDate { get; set; }
    public DateTime EndDate { get; set; }

    public List<Barrier> Barriers { get; set; }
}

public class Barrier
{
    [Key]
    public int Id { get; set; }
    public string Comments { get; set; }
}

在为UserLakshya模型生成视图时,我没有获得插入Barrier属性的模板,(比如评论)。我试过跟随 -

  1. 为屏障类型创建部分视图。
  2. 在主视图中渲染此局部视图,如下所示 -

    @ Html.Partial(“Barrier”,Model.Barriers)

  3. 我需要帮助为Barriers列表创建视图布局,以便障碍列表直接绑定到UserLakshya的实例。有可能吗?

    我提到了this article,但这似乎只对for displaying populated list items to the view有帮助。我正在寻找反之亦然。

1 个答案:

答案 0 :(得分:1)

我不确定我理解。

如果您的观点是强类型的,请说

@model UserLakshya

然后你可以做

@Html.DisplayFor(m => m.Title)
@foreach (var barrier in Model.Barriers) {
     @Html.DisplayFor(m => barrier.Comments)
} 

或for循环(版本需要)

@for (var i = 0; i < Model.Barriers.Count; i++) {
    @Html.TextBoxFor(m => Model.Barriers[i].Comments)
}