MVC4 プロジェクトでは、存在する可能性のあるメッセージに応じてページを「更新」する必要があります。それ以外の場合は、ページにリダイレクトするだけです。メッセージが存在する場合にページを再度表示する場合は、View を次のように返すことは避けたいと思います。ユーザーが更新しようとすると、二重送信が発生します。
私がやろうとしているのはこれです
[HttpGet]
public ActionResult SampleMethod()
{
viewModel = _builder.Build();
return View(viewModel);
}
[HttpPost]
public void SampleMethod(SampleViewModel viewModel)
{
if (ModelState.IsValid)
{
var response = serviceCall;
var errorMessages = response.ErrorMessages;
if (!errorMessages.Any())
{
//Redirect to proper view
}
else
vm = _builder.Build();
}
else vm = _builder.Build(); //There is some validation error I rebuild
CashbackOffersConfirmation(vm);
}
public ActionResult SampleMethodConfirmation(SampleViewModel viewModel)
{
return View("SampleMethod", viewModel);
}
プロセスを経るが、最終ページが.../SampleMethodConfirmationではなく.../SampleMethodになっていて空白で、
これはルーティングと関係がありますか (これでかなり失われました)。これは正しいアプローチですか?
ありがとう