POST アクションの完了後にRedirectToActionを試行すると、NullReferenceException が発生します。ここに私が試みていることの要約があります:
アプリケーションが POST された後、アプリケーションが有効な場合、後続のプロセスのためにクライアントを別のビュー(およびルート) にリダイレクトします。
[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 View がリダイレクト プロセスの一部として返される理由はある程度理解できますが、Model が null である理由や設定方法がわかりません。最終的に、おそらくリダイレクトが実際に発生しなかったため、ターゲット Action に到達することはありません。
@if (Model.HasSomething)
{
...
}
私は何を間違っていますか?これを行うより良い方法はありますか?