2013-02-26 156 views
0

是否有原因/Views/Shared/DisplayTemplates/Object.cshtml在调用@Html.DisplayFor(x => x.Date)时未被视图拾取?对象显示模板未找到

如果我将该文件命名为DateTime.cshtml,则按原样获取DateTime属性,但我不想为每种类型创建模板。 Object.cshtml不应该只用于一切吗?

我还没有装饰任何属性的属性。

视图的代码:

@model Object 

<div> 
    <strong>@Model</strong> 
</div> 

回答

0

DisplayTemplates不打算使用这个样子。您应该创建一个partial view与此内容:

@model Object 

<div> 
    <strong>@Model</strong> 
</div> 

,而是这个:@Html.DisplayFor(x => x.Date)

你写这样的:@Html.Partial("YourPartialView", Model.Date)

有了这个你实现你想要的结果。 A DisplayTemplate是一个更具体的事情。

+0

说我为每种类型创建了模板文件。它仍然会被归类为“无意”吗?如果我无法自定义,我错过了他们的观点? – mxmissile 2013-02-26 00:50:44

+0

如果明确地为每种类型创建模板文件,那么这将工作,但将是相当无意义的 – 2013-02-26 00:53:35

+0

下面是对上述概念的差异的解释:http://stackoverflow.com/a/5037631/238682 – 2013-02-26 00:55:22