2017-03-27 51 views
0

這可能是一個基本的問題,但我目前正在思考這一問題。如何在循環內訪問DisplayName註釋,而不是從Razor視圖中的模型訪問?

我通常使用:

@Html.LabelFor(model=>model.myProperty) 
@Html.DisplayFor(model=>model.myProperty) 

其中顯示DisplayName註釋,從視圖模型的財產。另外DisplayFor顯示值。

但是,如果我想遍歷模型列表,然後做同樣的事情呢?

@foreach (var item in Model.myPropertyList) 
{ 
    @Html.LabelFor(item=>item.myProperty) //No longer works 
    @Html.DisplayFor(item=>item.myProperty) // No Longer works. 
} 

應的代碼是在foreach循環皮卡物業DisplayName和價值是什麼。

我認識到,以下將顯示值工作:

@item.myProperty 

編輯:

答案似乎是:

@Html.DisplayNameFor(modelItem=>item.myProperty) 
@Html.DisplayFor(modelItem=>item.myProperty) 

發現傭工在這裏和我... 。團隊努力....謝謝

+0

嗨。視圖的模型是什麼? –

回答

1

檢查下面的一個

<div> 
     <table border="1" class="col-md-12 text-center table-font table-hover table-striped table" id="tblTemp"> 
      <thead> 
       <tr> 
        <th class="text-center" style="color:#000;"> 
         My Property For Label 
        </th> 
        <th class="text-center" style="color:#000;"> 
         My Property For Textbox 
        </th>       
       </tr> 
      </thead> 
      <tbody> 

    @foreach (var item in Model.myPropertyList) 
    { 
     <tr> 
      <td class="text-left"> 
       @Html.LabelFor(modelItem=>item.myProperty) //Should work 
      </td> 
      <td class="text-left"> 
       @Html.DisplayFor(modelItem=>item.myProperty) // Should work 
      </td> 
     </tr> 
     } 
    </tbody> 
    </table> 
</div> 
+0

感謝您的支持。這裏仍然有問題。我怎樣才能將DisplayName的值分配給一個變量,只是試圖調試這個。 – SamJolly

+0

類型是LabelFor 不是ForEach中的「Item」的類型。求助到目前爲止 – SamJolly

+0

DisplayFor工作,但不LabelFor ...這樣。有任何想法嗎?謝謝。基本上我想顯示「DisplayName」的註釋值,正如通常在表格中做的 – SamJolly

1

您可以使用此:

@Html.DisplayFor(model=>item.myProperty) 
+0

DisplayFor作品,但不是LabelFor ...像這樣。有任何想法嗎?謝謝。 – SamJolly

1
@Html.DisplayNameFor(modelItem=>item.myProperty) 
@Html.DisplayFor(modelItem=>item.myProperty) 
相關問題