2013-05-01 61 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