复选框携带值但不携带标题
Checkbox carries the value but not the title
我有一个多对多的关系,我已经实现并完美地工作,现在我想在一个可以在中间插入数据的实体的 "insert" 页面上有一组复选框 table.
我有一个 ViewModel,其中包含以下数组 class:
class CategoryManager {
public int id { get; set; }
public string Title { get; set; }
public bool Checked { get; set; }
}
在视图中,我使用以下行为每个数组成员创建复选框:
for (int i = 0; i < Model.categories.Count(); i++)
{
@Html.CheckBoxFor(m => m.categories[i].Checked)<i> </i>
@Model.categories[i].Title <br/>
}
现在我注意到的是,当页面被提交并且整个 ViewModel 被发送回控制器时,在 "CategoryManager"s 的数组中,每个实例都有 ID 和 "Checked" 正确通过(取决于用户是否标记了复选框),但是,所有这些的 "Title" 都是 NULL。
我知道这应该是我缺少的一个非常基本的东西,但我是新手 ;)
非常感谢您!
您没有为 属性 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()
创建与复选框关联的标签。
我有一个多对多的关系,我已经实现并完美地工作,现在我想在一个可以在中间插入数据的实体的 "insert" 页面上有一组复选框 table.
我有一个 ViewModel,其中包含以下数组 class:
class CategoryManager {
public int id { get; set; }
public string Title { get; set; }
public bool Checked { get; set; }
}
在视图中,我使用以下行为每个数组成员创建复选框:
for (int i = 0; i < Model.categories.Count(); i++)
{
@Html.CheckBoxFor(m => m.categories[i].Checked)<i> </i>
@Model.categories[i].Title <br/>
}
现在我注意到的是,当页面被提交并且整个 ViewModel 被发送回控制器时,在 "CategoryManager"s 的数组中,每个实例都有 ID 和 "Checked" 正确通过(取决于用户是否标记了复选框),但是,所有这些的 "Title" 都是 NULL。
我知道这应该是我缺少的一个非常基本的东西,但我是新手 ;)
非常感谢您!
您没有为 属性 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()
创建与复选框关联的标签。