Asp.net mvc 5 是否可以从类重定向到操作方法
在我的MVC5应用程序中,我想从一个类重定向到一个action方法,如下所示Asp.net mvc 5 是否可以从类重定向到操作方法,asp.net-mvc-5,Asp.net Mvc 5,在我的MVC5应用程序中,我想从一个类重定向到一个action方法,如下所示 public static User GetUserObject() { if (HttpContext.Current.Session["CurrentUser"] != null) { User currentUser = HttpContext.Current.Session["CurrentUser"] as User;
public static User GetUserObject()
{
if (HttpContext.Current.Session["CurrentUser"] != null)
{
User currentUser = HttpContext.Current.Session["CurrentUser"] as User;
return currentUser;
}
else
{
//I want to redirect to the login action method from here
}
}
您可以这样做,但不建议:
else {
var context = new RequestContext(
new HttpContextWrapper(System.Web.HttpContext.Current),
new RouteData());
var urlHelper = new UrlHelper(context);
var url = urlHelper.Action("About", "Home");
System.Web.HttpContext.Current.Response.Redirect(url);
return new User();
}
我认为这样做会更好:
public static User GetUserObject()
{
return HttpContext.Current.Session["CurrentUser"] as User;
}
然后在你的行动方法中:
public ActionResult Index()
{
var userObject = Helpers.Helper.GetUserObject();
if (userObject == null)
return RedirectToAction("actionName", "controllerName");
else
return RedirectToAction("", "")
//
}
从调用方(操作)简单地执行此操作不是更好吗?
var usr=GetUserObject();如果(usr==null){//do redirect}否则{//I是当前用户!}