多くの例でデータ注釈に関する幅広いリソースを見つけることができません。
[ScaffoldColumn(false)]
public int ReadCount { get; set; }
ReadCount
で見せDisplayForModel
たい、で使いたくないEditorForModel
。これどうやってするの?これは可能ですか?
ありがとう。
多くの例でデータ注釈に関する幅広いリソースを見つけることができません。
[ScaffoldColumn(false)]
public int ReadCount { get; set; }
ReadCount
で見せDisplayForModel
たい、で使いたくないEditorForModel
。これどうやってするの?これは可能ですか?
ありがとう。
1つの可能性は、プロパティに設定した場合でも値を表示するカスタムObject display template
( )を作成することです。~/Views/Shared/DisplayTemplates/Object.cshtml
[Scaffold(false)]
@if (Model == null)
{
@ViewData.ModelMetadata.NullDisplayText
}
else if (ViewData.TemplateInfo.TemplateDepth > 1)
{
@ViewData.ModelMetadata.SimpleDisplayText
}
else
{
foreach (var prop in ViewData.ModelMetadata.Properties.Where(pm => !ViewData.TemplateInfo.Visited(pm)))
{
if (prop.HideSurroundingHtml)
{
@Html.Display(prop.PropertyName)
}
else
{
if (!String.IsNullOrEmpty(prop.GetDisplayName()))
{
<div class="display-label">@prop.GetDisplayName()</div>
}
<div class="display-field">@Html.Display(prop.PropertyName)</div>
}
}
}
ご覧のとおり、私が作成したデフォルトの表示テンプレートとの唯一の違いは、pm.ShowForDisplay
条件を削除したforeachセレクターにあります。
次のプロパティがある場合:
[ScaffoldColumn(false)]
public int ReadCount { get; set; }
DisplayForModelで表示され、EditorForModelでは表示されません。