MVC中很奇怪的问题

Y2zz 2011-02-07 08:46:44
新建了一个MVC 3的项目, 在HomeController中继承BaseController
 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Web;
5 using System.Web.Mvc;
6 using System.Web.UI;
7
8 using Cloud.Config;
9
10 namespace UserCenter.Controllers
11 {
12 public class HomeController : BaseController
13 {
14 public HomeController()
15 {
16 }
17
18 //
19 // GET: /Home/
20
21 public ActionResult Index()
22 {
23 return View();
24 }
25
26 }
27 }


BaseController代码如下
 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.UI;
using Cloud.Config;

namespace UserCenter.Controllers
{
/// <summary>
/// 基础
/// </summary>
public class BaseController : Controller
{
public BaseController()
{
if(Cookie("login") == null)
{
          // 这地方报错, 未将对象引用设置到对象的实例。
Response.Redirect(Url.Action("Login", "Account"));

          // 这地方不报错
          System.Web.HttpContext.Current.Response.Redirect(Url.Action("Login", "Account"));
}
}
  }
}

命名里的为啥就要补全? 简写语法不报错, 但是执行的时候就报错了
我已经引用了, 如果没引用报错我认了, 但这问题真的很崩溃
...全文
90 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
phil999 2011-02-07
  • 打赏
  • 举报
回复
试试这个,在 BaseController 里

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

// 你的代码

}
Y2zz 2011-02-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 phil999 的回复:]

可以重写 initialize 方法,在那里搞
[/Quote]
我还是没明白
phil999 2011-02-07
  • 打赏
  • 举报
回复
可以重写 initialize 方法,在那里搞
phil999 2011-02-07
  • 打赏
  • 举报
回复
Response,HttpContext 这些在controller的构造函数里不可用
Y2zz 2011-02-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 phil999 的回复:]

试试这个,在 BaseController 里

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

// 你的代码……
[/Quote]
十分感谢!

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧