DisplayFor
使用和指定要使用的显示模板时出现意外错误。
我有一个实现基本模型的模型
public class Smokey : Bacon
{
}
我有一个显示模板;Smokey.cshtml 有一个 Smokey 的模型
现在我传递给的模型DisplayFor
是IEnumerable<Bacon>
. 当我没有指定要使用的显示模板时,这可以正常工作。
@Html.DisplayFor(x => x.Items);
但是,如果我指定显示模板,我会得到一个异常,告诉传递的项目是培根类型的 IEnumerable,但是这个字典需要一个“Smokey”类型的模型项目。
@Html.DisplayFor(x => x.Items, "Smokey");
我试图理解为什么这是一种方式而不是另一种方式?有什么区别?