从BaseController派生Controller,然后Action方法不执行,响应为空

时间:2011-03-20 03:48:56

标签: .net asp.net asp.net-mvc asp.net-mvc-2

我想创建一个可在Controller的每个Action中访问的CurrentUser对象,我在Constructor中初始化它,但是在构造函数中没有User.Identity。我在stackoverflow上关注了以下链接:

Defining a User with User.Identity.Name in controller constructor

但是在从BaseController继承我的控制器后,我的Action方法甚至没有被执行,执行在BaseController的Execute停止,我在浏览器中得到空白页。

1 个答案:

答案 0 :(得分:4)

我查看了链接帖子中的Execute覆盖。它缺少对base.Execute(context)的调用。这意味着没有对Controller.ExecuteCore()进行调用,这意味着没有对ActionInvoker.InvokeAction(context,actionName)进行调用,这就是为什么您的操作方法不会执行而且您的响应为空。

base.Execute(context)添加到Controller.Execute()覆盖的末尾。