显示模板
模型:
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()