我在视图中有一个窗体,并通过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