为什么MVC3中的WebViewPage是抽象的?

时间:2010-11-12 10:11:38

标签: asp.net-mvc asp.net-mvc-3 razor

有什么意义
public class ThemedViewPage<T> : WebViewPage<T>
{
    public override void Execute()
    {

    }
}

我该怎么办呢?我问,因为我把它留空了,世界是一个好地方,一切似乎都有效 - 只是更新我今天下午运行的一个演示,这是一个我可能会被问到的问题。

1 个答案:

答案 0 :(得分:11)

Razor通过生成一个继承自基类的类来工作。它继承的默认类是WebViewPage<T>。当您表达@inherits ThemedViewPage<Something>时,您告诉代码生成器创建一个继承自ThemedViewPage<Something>的类。

实际上并没有实现Execute方法,因为生成此方法的Razor解析器。值得一读Andrew Nurse's BlogBen @ BuildStarted's Blog甚至my own,因为我们最近一直致力于构建一个独立的Razor模板引擎,所以需要了解它是如何在内部工作的。