的另一種看法,我有兩個控制器Home
和BookReservation
,我試圖從重定向控制器BookReservation
到視圖Home
控制器不重定向到家庭控制器if possible
的指數。重定向從控制器到另一個控制器
這是我在BookReservation
控制器操作:
Validate_rules
函數返回List<string[]>
並將其存儲在tempdata
[HttpPost]
public ActionResult Validate_Data(ReservationDetails reservation_details)
{
TempData["verification_errors"] = Validate_rules(reservation_details);//this function return List<string[]>
return RedirectToAction("Index");
}
這裏的home
認爲index.cshtml我得到的溫度數據並顯示元素其中:
@{
List<string[]> validate_rules = new List<string[]>();
if (TempData["verification_errors"] != null)
{
validate_rules = (List<string[]>)TempData["verification_errors"];
}
}
@foreach (var item in validate_rules)
{
<label >@item[0].ToString() @item[2].ToString()</label>
}
問題是我無法顯示
validate_rules
元素裏面的視圖標籤我不知道從哪裏問題,當我重定向從BookReservation
控制器的臨時數據或什麼?
這是家居控制器:
[HttpGet]
[ActionName("Index")]
[HandleError]
public ActionResult Index_Get(string submit)
{
bool ParamsChanged = mySessionObject.Parameters.LoadQueryParameters(Request);
if (ParamsChanged)
return RedirectToAction("Index", mySessionObject.Parameters.GetQueryParameters());
LoadHotelDetails();
GetHotelAvailability();
ViewBag.data = TempData["verification_errors"];
return View("Index",myViewModel);
}
什麼建議嗎?
我建議使用'會話[ 「verification_errors」 ]'而不是。 'TempData'存儲在第一個和後續的響應中,當在第二個控制器上返回視圖時,可能'TempData'值已經丟失。 –