0

我有数据填充枚举器发送到视图,我渲染 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 后面数据的标签。

我正在尝试这个选项,因为我已经理解不推荐使用带有循环的视图袋,但是我也想在 EditorForModel 范围后面提出建议。

编辑:如果我使用:

@Html.DisplayTextFor(x => x.SliceName)

-Ill 获取 SliceName 后面的数据(仅限文本)。

如果我使用:

@Html.LabelFor(x => x.SliceName)

-Ill 获得标签文本的标题“SliceName”。

如何使用@Html.LabelFor 以文本形式获取数据,例如@Html.DisplayTextFor?

4

1 回答 1

0

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

如果你这样做:

@Html.BeginForm()
{
...
}

而不是这个:

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

您的模型的名称将出现,而不是模型的值。

于 2013-05-01T16:20:48.847 回答