這裏是我的索引視圖的一部分:局部視圖,因爲TempData的是空
@if (TempData["SucessAlert"] != null)
{
Html.RenderPartial("~/Views/Shared/_SuccessAlert.cshtml");
}
這裏是局部視圖,_SuccessAlert.cshtml:
<div class="alert alert-success alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
@TempData["SuccessAlert"]
<a href="@TempData["SuccessAlertLink"]" class="alert-link">@TempData["SuccessAlertLinkText"]</a>
</div>
這裏是我的控制器的一部分:
TempData["SuccessAlert"] = "Successfully created account code " + mergedCode + ".";
TempData["SuccessAlertLinkText"] = "Click here to view it.";
TempData["SuccessAlertLink"] = "/AccountCode/Details?Division=" + viewModel.Division
+ "&ProgramCode=" + viewModel.ProgramCode
+ "&ProjectCode=" + viewModel.ProjectCode
+ "&includeDisabled=False&page=1";
return RedirectToAction("Index");
一切正常,直到我添加@if()
聲明的視圖。當檢查@if
語句時,顯然TempData["SuccessAlert"]
總是空。實際上,如果我將@if()
聲明更改爲@if(true)
,它仍然有效,因此TempData
在部分視圖中具有正確的值,即使視圖本身爲空也是如此。
任何想法我做錯了什麼? (如果有問題,我使用MVC5。)
if語句中的TempData [「SuccessAlert」]中有一個輸入錯誤(缺少「c」)。 – ataravati