0

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になっていて空白で、

これはルーティングと関係がありますか (これでかなり失われました)。これは正しいアプローチですか?

ありがとう

4

1 に答える 1