隐式使用ASP.NET MVC DisplayTemplate

时间:2012-11-15 17:11:57

标签: asp.net-mvc asp.net-mvc-4 display-templates

我在cshtml视图中有一些这样的代码

@{  int i = 0;
    foreach (var record in Model.Records)
    {
    <tr>
        <td>@record.CreatedDate</td>
        <td>@Html.DisplayFor(x => x.Records[i].CreatedDate)</td>
    </tr>
        i++;
    }
}

在我的〜/ Views / Display文件夹中我有一个名为DateTime.cshtml的文件,其中包含

<p>@ViewData.Model.ToShortDateString()</p>

所以我的视图是呈现两个版本的CreatedDate,一个带有完整的DateTime字符串,另一个带有短日期字符串。

我是否可以将ASP.NET MVC4项目配置为使用我在显示DateTime时创建的显示模板,而不显式调用DisplayFor?即'@ record.CreatedDate'行如何使用我的DateTime模板?

1 个答案:

答案 0 :(得分:2)

不,你不能。没有办法配置MVC使用此代码的模板:

'@record.CreatedDate'

你将不得不继续使用DisplayFor而不是太多,不能写...