如何将RedirectToAction放入Claas,我试图这样做。
public static void UserOnlineNow()
{
int brugeridValue = Helper.BrugerInformation.SessionVale.SessionBrugerid();
DataLinqDB db = new DataLinqDB();
var bruger = db.brugeres.FirstOrDefault(i => i.Id == brugeridValue);
if (bruger != null)
{
return RedirectToAction("index", "account");
}
}
我在这里试试:
HttpContext.Current
在 RedirectToAction 之前
我需要在课堂上使用它的原因是我不会写太多的地方。
答案 0 :(得分:2)
RedirectToAction
在基类Controller
类(继承了普通控制器)中定义,您应该在控制器中使用它。
如果您担心在很多地方执行此代码,您应该考虑编写一个操作过滤器并将其应用于您的控制器/操作方法。
public class OnlineUserCheck : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
bool burgerExists = false;
//check your table and set the burgerExists variable value.
//burgerExists=db.brugeres.Any(s=>s.Id==3453); // replace hard coded value
if (burgerExists)
{
filterContext.Result = new RedirectToRouteResult(
new System.Web.Routing.RouteValueDictionary {
{"controller", "Inspection"}, {"action", "Index"}
}
);
}
base.OnActionExecuting(filterContext);
}
}
您可以使用此动作过滤器修饰动作方法。
[OnlineUserCheck]
public ActionResult Index()
{
return View();
}