我有很多关系,我已经实现并且工作得很好,现在我想在其中一个可以在中间表中插入数据的实体的“插入”页面上有一组复选框。
我有一个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。
我知道这应该是我缺少的一个非常基本的东西,但我是一个新人;)
非常感谢你!
答案 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()
创建与复选框关联的标签。