显示模板

模型:

 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()