我在视图中有一个表单,我通过Submit按钮将一些信息传递给Controller。在控制器中,在一个名为SaveP的ActionResult中,我想验证一些条件,并将这些验证的结果传递回视图,以便在按下提交按钮后重新加载页面时显示一些内容。
代码是这样的:
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,但在视图中它为null。我该怎么解决这个问题?谢谢!
答案 0 :(得分:1)
RedirectToAction("P", new { id = editor.ID ,check = true});
和P动作就像
public ActionResult P(int id,bool check=false)
{
viewBag.check = check;
}
如果你通过check = true,你将在检查P动作时得到真实 如果你没有传递任何东西,那么它的价值将不会被设置为假。 因此,如果从多个位置调用此方法并且您没有通过检查参数,则不会抛出错误...
答案 1 :(得分:0)
Model
来的地方。 您可以使用模型对象从控制器向View 发送属性中的值。在您使用 HTML帮助程序的视图中,将此model
属性与您想要的元素绑定在一起。在您的帖子操作中,创建此模型对象的参数。当模型从视图中回发时,它将被填充属性。