私はモデルを持っています:
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>