PASSING INFORMATION BETWEEN CONTROLLERS IN ASP.NET-MVC

Goti Bandu

Total Post:119

Points:835
Posted by  Goti Bandu
 830  View(s)
Ratings:
Rate this:

I have a login page login.aspx, which has username and password fields, as well as an important little checkbox. Login is handled in the account controller login action.

Syntax:

[AcceptVerbs(HttpVerbs.Post)]

[SuppressMessage("Microsoft.Design", "CA1054:UriParametersShouldNotBeStrings", Justification =

                "Needs to take same parameter type as Controller.Redirect()")]

        public ActionResult LogOn(string userName, string password, string returnUrl,

            bool sendStoredInfo)

        {

            if (!this.ValidateLogOn(userName, password))

            {

                return View();

            }

 

            this.FormsAuth.SignIn(userName, false);

 

            if (!String.IsNullOrEmpty(returnUrl))

            {

                return Redirect(returnUrl);

            }

            else

            {

                return RedirectToAction("Index", "Home");

            }

        }

Basically, if the line return Redirect(returnUrl); fires, then it will end up in another controller, the OpenIDController, and it is that situation where the sendStoredInfo bool becomes important. But the problem is I have no reference to it when I'm in the OpenIDController. How can I send this value across?

  1. Jeet Verma

    Post:110

    Points:776
    Re: Passing Information Between Controllers in ASP.Net-MVC

    Change the call to:

    return RedirectToAction("LoginFailed", new { sendFlag = sendStoredInfo });

    The controller action method signature could be something like:

    public ActionResult LoginFailed(bool sendFlag)

    {

        ...

    }

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!