【发布时间】:2012-10-04 16:03:47
【问题描述】:
好吧,给定以下模型:-
public class SomeViewModel
{
public IAnimal Animal { get; set; }
public Exception Exception { get; set; }
}
IAnimal 可以是这个..
public class Cat : IAnimal { .. }
public class Dog : IAnimal { .. }
并给出以下 Razor 代码
.. snip ..
@if (Model.Animal!= null)
{
Html.DisplayForModel(Model.Animal);
}
else if (Model.Exception != null)
{
Html.DisplayForModel(Model.Exception);
}
@Html.ActionLink("Lets go back home.", "Index")
如果模型实例是其中之一,则视图不会渲染猫或狗的属性。
现在这些模型中的每一个都只是一些字符串和布尔值等。所有原始类型。
所以我想,如果我只是传入模型,它应该被渲染。
有人对我可能做了什么有什么建议,错了吗?
另外 - 对于奖励积分,是否可以为这两个类之一创建一个显示模板 - 比如说 Cat 类 - 并让它只显示 instelf?例如。告诉它显示自己,而不是我手动创建到Html.Label ...等。
【问题讨论】:
标签: c# .net asp.net-mvc displayfor