我在視圖中有一個窗體,並通過Submit按鈕將一些信息傳遞給Controller。在控制器中,在一個名爲SaveP的ActionResult中,我想驗證一些條件並將這些驗證的結果返回給視圖,以便在按下提交按鈕後重新加載頁面時顯示一些內容。ASP.NET MVC ViewBag或TempData?
的代碼是類似的東西:
if (!(editor.ID != null && !string.IsNullOrEmpty(editor.Number) && (!ext.SID.HasValue)))
{
_db.M.DeleteM(editor.PID);
pa.P.MID = null;
TempData["m"] = false;
我想視圖中顯示,只有這些條件適用一些事情。 此外,這家名爲SaveP行動結果重定向到返回RedirectToAction("P", new { id = editor.ID });
我用ViewBag並沒有奏效,但後來我發現ViewBag元素不重定向後保存。然後,我嘗試了一個TempData,但它在視圖中是空的。我應該如何解決這個問題?謝謝!
創建一個模型並添加一個新的屬性? – Canvas
您是如何訪問您重定向到的GET方法中的'TempData'值的?你需要顯示相關的代碼。但是如果你想要做的只是傳遞一個'bool'值,那麼就給你的方法添加一個參數並使用'RedirectToAction(「P」,new {id = editor.ID,myBool = false})' –
'TempData'在控制器操作(例如重定向)之間持續存在,您只能訪問一次。您重定向到的動作可以將'TempData'的值添加到'ViewBag'中。 – Silvermind