复选框包含值但不包含标题

时间:2015-04-26 21:11:28

标签: asp.net-mvc entity-framework razor ef-code-first

我有很多关系,我已经实现并且工作得很好,现在我想在其中一个可以在中间表中插入数据的实体的“插入”页面上有一组复选框。

我有一个ViewModel,它包含以下类的数组:

ToArray

在View上,我有以下行来为每个数组成员创建复选框:

class CategoryManager {
   public int id { get; set; }
   public string Title { get; set; }
   public bool Checked { get; set; }
}

现在我注意到的是当页面被提交并且整个ViewModel被发送回控制器时,在“CategoryManager”的数组中,每个实例都有ID并且“Checked”正确通过(取决于然而,关于用户是否标记了复选框),所有这些的“标题”都是NULL。

我知道这应该是我缺少的一个非常基本的东西,但我是一个新人;)

非常感谢你!

1 个答案:

答案 0 :(得分:1)

您不会为属性Title(或ID生成控件,因此不确定如何回发该帖子)。为Title属性

添加隐藏输入
for (int i = 0; i < Model.categories.Count; i++)
{
    @Html.CheckBoxFor(m => m.categories[i].Checked)
    @Html.LabelFor(m => m.categories[i].Checked, "Model.categories[i].Title")
    @Html.HiddenFor(m => m.categories[i].ID)
    @Html.HiddenFor(m => m.categories[i].ID)
}

请注意使用LabelFor()创建与复选框关联的标签。