转换为派生类不适用于视图页面(aspx)

时间:2011-07-26 19:56:06

标签: asp.net-mvc inheritance casting

你好我遇到了一个简单的问题

说我有一个班级

public Abstract Animal

我有2个派生类

public Cat : Animal
{ 
    public int NumberOfLegs {get;set;}
}

所以我把它传递给了我的浏览页

System.Web.Mvc.ViewPage((IEnumerable<Animal>)

在aspx页面中 我不能这样做(它甚至不会编译)。它不会识别NumberOflegs成员

foreach (item in Model)

    (Cat)item.NumberOfLegs

任何想法?

提前致谢

2 个答案:

答案 0 :(得分:6)

在访问成员之前,您需要添加几个括号以进行演员评估:

((Cat)item).NumberOfLegs

答案 1 :(得分:0)

如果您只想处理“猫”,那么您可以使用Linq过滤集合

foreach (item in Model.OfType<Cat>())
  item.NumberOfLegs