Este es un duplicado de How to RedirectToAction in ASP.NET MVC without losing request dataPasar información entre controladores en ASP.Net MVC-
Hola, he entrado en un problema que me está haciendo rasco la cabeza un poco. Básicamente tengo una página de inicio de sesión, Login.aspx, que tiene campos de nombre de usuario y contraseña, así como también una pequeña casilla importante. El inicio de sesión se maneja en el método de inicio de sesión AccountController. El código actualmente es el siguiente:
[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");
}
}
Básicamente, si la línea devuelve Redirigir (returnUrl); dispara, luego terminará en otro controlador, el OpenIDController, y es esa situación donde el bool sendStoredInfo se vuelve importante. Pero el problema es que no tengo referencia cuando estoy en OpenIDController. ¿Cómo puedo enviar este valor?
Gracias Jace Rhea, hice los cambios sugeridos. –
por qué este bool sendFlag = TempData.ContainsKey ("sendFlag")? TempData ["sendFlag"]: falso; lanzará una excepción que diga "referencia de objeto nulo"? – Umitk
TempData es nulo? –