MVC 5 Redirect from the global.asax to controller action

MVC 5 Redirect from the global.asax to controller action

We can redirect to controller actions from global.asax in mvc 5 using RedirectToControllers() method. The RedirectToControllers() method provided by MVC 2 + versions. 

The below example might help you.

// Get the authentication cookie.
// If the cookie is null then redirect to controller action.
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
     // Get the authentication cookie.
      string cookieName = FormsAuthentication.FormsCookieName;
      HttpCookie authCookie = Context.Request.Cookies[cookieName];

     // If the cookie is null then redirect to controller action.
      if (authCookie == null)
      {
          RedirectToControllers("Account", "Login");
      }
}

// Clear the response. 
// Clear the server errors. 
// Create the route using RouteData (controller/action).
 // Name of controller where you wants to redirect.

private void RedirectToControllers(string control, string action)
{
      Response.Clear();
      Server.ClearError();

      var route = new RouteData();
      route.Values["controller"] = control;
      route.Values["action"] = action;

      // Name of controller where you wants to redirect.
      IController controller = new AlertsController();

      var RequestCont= new RequestContext(new HttpContextWrapper(Context),route);
      controller.Execute(RequestCont);
}
ANIL SINGH

Hey! I'm Anil Singh. I author this blog. I'm Active Blogger, Programmer. I love learning new technologies, programming, blogging and participating the forum discussions more...
My Blogs - http://www.code-sample.com and http://www.code-sample.xyz
My Books - Google Amazon and Flipkart Book Store!

You Might Also Like
Post a Comment
www.code-sample.com/. Powered by Blogger.
ASK Questions
SQL Server NodeJs TypeScript JavaScript Angular SQL Server My Book