首页新闻找找看学习计划

MVC Controll中Initialize()方法被重写问题

0
[已解决问题] 解决于 2013-04-21 17:02

为什么重写必须调用Controll基类中的Initialize(),重写方法不是可以不调用基类中的方法。

 public class Default1Controller : Controller
    {

        protected override void Initialize(System.Web.Routing.RequestContext requestContext)
        {
            base.Initialize(requestContext);
        }
    }

 

若要不是不调用Controll基类中的方法,就会报错没有把对象实例。

学之乐的主页 学之乐 | 初学一级 | 园豆:45
提问于:2013-04-17 23:03
< >
分享
最佳答案
0

可以不调用,但是你自己就需要实现base.Initialize(requestContext);的工作了

奖励园豆:5
today4king | 老鸟四级 |园豆:3267 | 2013-04-18 11:38

这个初始化是实现什么工作的?

学之乐 | 园豆:45 (初学一级) | 2013-04-18 22:03

@河洛之子: 很复杂,是mvc模式中对C的实现,具体可以看它的源代码,mvc已经开源了。

另外调用这个方法对你的程序有影响么?

today4king | 园豆:3267 (老鸟四级) | 2013-04-19 11:25
其他回答(1)
0

Initialize 是ControllerBase 的一个虚方法, 你可以重写 也可以不重写, 你重写了那么肯定 是根据自己的需求 去工作,否则你重写在调用 基类的方法 那不是多此一举

嘿嘿果宝 | 园豆:32 (初学一级) | 2013-04-18 15:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册