控制器之間的信息這是How to RedirectToAction in ASP.NET MVC without losing request data傳遞在ASP.Net MVC的
喜重複的,我進入這讓我抓我的頭有點問題。基本上我有一個登錄頁面Login.aspx,其中有用戶名和密碼字段,以及一個重要的小複選框。登錄在AccountController Login方法中處理。代碼目前如下:
[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");
}
}
基本上,如果行返回重定向(returnUrl);那麼它會在另一個控制器OpenIDController中結束,這就是sendStoredInfo布爾變得重要的情況。但問題是我在OpenIDController中時沒有提及它。我怎樣才能發送這個值?
謝謝Jace Rhea,我已經提出了修改建議。 – 2015-02-11 19:34:33
爲什麼這個布爾sendFlag = TempData.ContainsKey(「sendFlag」)? TempData [「sendFlag」]:false;會拋出一個異常說「對象空引用」? – Umitk 2015-08-27 03:30:12
TempData爲空? – 2015-10-05 22:19:09