DisplayNameFor と DisplayFor を1行にまとめたい
View.csthml
<table>
<tr>
<th>@Html.DisplayNameFor(model => model.FirstName)</th>
<td>@Html.DisplayFor(model => model.FirstName)</td>
</tr>
<tr>
<th>@Html.DisplayNameFor(model => model.LastName)</th>
<td>@Html.DisplayFor(model => model.LastName)</td>
</tr>
・・・
</table>
上記のように、モデルの各プロパティの表示名とデータ値を table に表示するページがあります。
<tr>
<th>@Html.DisplayNameFor(プロパティ)</th>
<td>@Html.DisplayFor(プロパティ)</td>
</tr>
の部分は定型なので、部分ビューにして、
_Partial.csthml
@model object
<tr>
<th>@Html.DisplayNameFor(model => model)</th>
<td>@Html.DisplayFor(model => model)</td>
</tr>
本体のページを
View.csthml
<table>
@Html.Partial("_Partial", Model.FirstName)
@Html.Partial("_Partial", Model.LastName)
・・・
</table>
に変更してみたのですが
・表示名が表示されない
・データ値は表示されるが、モデルのプロパティに指定した DisplayFormat が効いていない
という状態です。
DisplayNameFor、DisplayForを毎回記述せずに1行にまとめられれば、どのような方法でも良いのですが、どのような解決策があるでしょうか?