顯示模板

模型:

 public class User  
 {
    public int ID { get; set; }
    public string FirstName { get; set; }
    public DateTime DateOfBirth { get; set; }
 }

如果我們想要在不同的檢視中顯示使用者,那麼最好為這些使用者建立需要顯示的標準化佈局。我們可以使用顯示模板完成此操作。

顯示模板只是一個區域性檢視,它與模型繫結到它想要顯示的物件,並存在於 Views/Shared/DisplayTemplates 資料夾中(儘管你也可以將它放在 Views/ControllerName/DisplayTemplates 中)。此外,檢視的名稱(預設情況下)應該是你要將其用作模板的物件的名稱

檢視/共享/ DisplayTemplates / User.cshtml

 @model TemplatesDemo.Models.User
    
<div style="padding-bottom: 10px">
    <p><strong>ID:</strong> @Html.DisplayFor(m => m.ID)</p>
    <p><strong>Name:</strong> @Html.DisplayFor(m => m.FirstName)</p>
    <p><strong>Date of Birth:</strong> @Html.DisplayFor(m => m.DateOfBirth)</p>
</div>
<hr/>

現在,如果我們想要顯示資料庫中的所有使用者並在不同的檢視中顯示它們,我們只需將使用者列表傳送到 View,然後使用顯示模板來顯示它們。我們可以使用以下兩種方法之一:

Html.DisplayFor()
Html.DisplayForModel()

DisplayFor 呼叫所選屬性型別的顯示模板(例如 Html.DisplayFor(x => x.PropertyName).DisplayForModel 呼叫檢視的 @model 的顯示模板

檢視

@model IEnumerable<TemplatesDemo.Models.User>
@{
    ViewBag.Title = "Users";
}

<h2>Users</h2>

@Html.DisplayForModel()