我有数据填充的枚举器,我发送到视图,我像这样渲染EditorForModel:
@model IEnumerable<TestProj.Models.Hours>
@Html.EditorForModel()
比EditorTemplates.Hours.cshtml:
@model TestProj.Models.Hours
<div>
@Html.CheckBoxFor(
x => x.Selected,
new {
@class = "jcf-unselectable",
id = HtmlHelper.GenerateIdFromName("cb_slice." + ViewData.TemplateInfo.GetFullHtmlFieldName(""))
}
)
@Html.LabelFor(x => x.SliceName)
</div>
当呈现页面时,我想显示所有SliceNames数据,而不是标签显示的实体名称“SliceName”。
因此,它将呈现复选框以及带有SliceName背后数据的标签。
我正在尝试这个选项,因为我知道不建议使用带有循环的viewbags,但是我也想在EditorForModel范围后面提出建议。
编辑: 如果我使用:
@Html.DisplayTextFor(x => x.SliceName)
- 我将获取SliceName(仅限文本)背后的数据。
如果我使用:
@Html.LabelFor(x => x.SliceName)
- 标签文字的标题为“SliceName”。
如何使用@ Html.LabelFor将数据作为文本获取,如@ Html.DisplayTextFor?
答案 0 :(得分:0)
听起来您的表单可能有问题。
如果你这样做:
@Html.BeginForm()
{
...
}
而不是:
@using(Html.BeginForm())
{
...
}
将显示模型的名称,而不是模型的值。