请问一下 System.Web.HttpContext.Current.Request和Request的区别
我在尝试用MVC做一个小项目
请问我在Controller的构造函数里调用Request时为null,
但是调用System.Web.HttpContext.Current.Request能出来值,请问是怎么回事,谢谢。代码如下:
public class SpaceBaseController : Controller
{
public SpaceBaseController()
{
if (string.IsNullOrEmpty(Common.LoginUserName) == true)
{
string url = System.Web.HttpContext.Current.Request.Url.ToString();
System.Web.HttpContext.Current.Session["url"] = url;
//不能直接写 Session["url"] = url; Session["url"]为null
System.Web.HttpContext.Current.Response.Redirect("/member/login");
}
}
}
我在尝试用MVC做一个小项目
请问我在Controller的构造函数里调用Request时为null,
但是调用System.Web.HttpContext.Current.Request能出来值,请问是怎么回事,谢谢。代码如下:
public class SpaceBaseController : Controller
{
public SpaceBaseController()
{
if (string.IsNullOrEmpty(Common.LoginUserName) == true)
{
string url = System.Web.HttpContext.Current.Request.Url.ToString();
System.Web.HttpContext.Current.Session["url"] = url;
//不能直接写 Session["url"] = url; Session["url"]为null
System.Web.HttpContext.Current.Response.Redirect("/member/login");
}
}
}
SpaceBaseController : Controller
详情看命名空间
public HttpRequestBase Request
{
get
{
if (this.HttpContext != null)
{
return this.HttpContext.Request;
}
return null;
}
}public HttpContextBase HttpContext
{
get
{
if (base.ControllerContext != null)
{
return base.ControllerContext.HttpContext;
}
return null;
}
}public ControllerContext ControllerContext { get; set; }
我大概明白了 我是在构造函数里写的Request 还没有赋值,所以为null
见此链接
http://topic.csdn.net/u/20110519/10/9710036f-bf56-4e4c-b4f6-44411f860cad.html我想实现如下功能
MVC.NET的项目中,如何在控制器的构造函数里跳转到其他页面
例如,我想验证是否登录,如果没有,跳转到登录页