2013-05-01 62 views
0

实体的数据我有数据填充枚举我送的观点,我呈现EditorForModel这样的:显示与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) 

-Ill落后SliceName数据(未含)。

如果我使用:

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

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

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

回答

0

听起来好像你的表格可能有问题。

如果你这样做:

@Html.BeginForm() 
{ 
... 
} 

,而不是这样的:

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

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

+0

在我的布局中,我正在渲染body“@RenderBody()”,它将在页面的主区域使用EditorForModel渲染区域,甚至没有@ Html.BeginForm()或@使用(Html.BeginForm()),我试过把它放在我的身体页是这样的(仅用于本例中的一部分): \t \t \t \t \t \t \t @using(Html.BeginForm( “Search_Times”,“搜索“)) { @model IEnumerable的 @ Html.EditorForModel() } 仍然呈现的标题,而不是数据。 – JBntis 2013-05-02 06:41:32

+0

@ Html.DisplayTextFor(x => x.SliceName)例如,将在“SliceName”后面显示数据,但它不是“标签”,不能采用更多参数来格式化元素。 – JBntis 2013-05-02 07:56:17

+0

查看编辑的问题。 – JBntis 2013-05-02 09:32:21