我在完成 POST 操作后尝试RedirectToAction时遇到 NullReferenceException。这是我正在尝试的摘要:
发布应用程序后,如果应用程序有效,我希望客户端重定向到另一个视图(和路由)以进行后续流程。
[HttpPost]
public ActionResult SubmitApplication(Application application)
{
// Do stuff
if (!ModelState.IsValid)
{
return View(application);
}
// Create and set variables for the next route
return RedirectToAction("ApplicationReview", new
{
x = "foo",
y = "bob"
});
}
[HttpGet]
public ActionResult ApplicationReview(string x, string y)
{
// Do stuff using x and y as keys
return View();
}
在SubmitApplication视图中,我有类似于以下的代码,尽管它更详细。调用RedirectToAction后, SubmitApplication视图中的Model对象为 null 并引发异常。我可以理解为什么SubmitApplication视图作为重定向过程的一部分返回,我只是无法弄清楚为什么模型为空或如何设置它。最后,可能永远不会到达目标 Action,因为重定向从未真正发生过。
@if (Model.HasSomething)
{
...
}
我究竟做错了什么?有一个更好的方法吗?