使用EditorForModel显示实体数据

时间:2013-05-01 14:59:36

标签: asp.net-mvc entity-framework razor

我有数据填充的枚举器,我发送到视图,我像这样渲染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?

1 个答案:

答案 0 :(得分:0)

听起来您的表单可能有问题。

如果你这样做:

@Html.BeginForm()
{
...
}

而不是:

@using(Html.BeginForm())
{
...
}

将显示模型的名称,而不是模型的值。