我有一个模型:
public class PostModel
{
public int PostId { get; set; }
[Required]
[Display(Name = "Title")]
public string Title { get; set; }
[Required]
[Display(Name = "Idea")]
[DataType(DataType.MultilineText)]
public string Body { get; set; }
[Required]
public int UserId { get; set; }
public string UserName { get; set; }
}
我已经为它创建了一个自定义显示/Shared/DisplayTemplates/PostModel.ascx
。然后我在视图上显示这些列表Home/Index
:
@foreach (var p in Model.Popular)
{
Html.DisplayFor(m => p);
}
单步浏览视图时,如果我进入,Html.DisplayFor
我会进入/Shared/DisplayTemplates/PostModel.ascx
并且它会按预期进行处理。但是,它实际上从未被渲染。
我错过了什么?
这是模板:
<%@ Control Language="C#"
AutoEventWireup="true"
CodeBehind="PostModel.ascx.cs"
Inherits="System.Web.Mvc.ViewUserControl<TPB.Models.PostModel>" %>
<div class="rounded-border">
<h2><%= Html.DisplayTextFor(m => m.Title) %></h2>
<p><%= Html.DisplayTextFor(m => m.Body) %></p>
</div>