2

方法があります...

[HttpPost]
public ActionResult Start(SomeViewModel someViewModel) { ... }

いくつかの条件に基づいて、 return View("Invalid")View("NotFound")View("Run", anotherViewModel)などを返します。問題は、表示するビューに関係なく、新しいコントローラー/アクションを反映して URL が変更されないことです。ビューが別のアクションに投稿したい場合、これは問題を引き起こします。どうすればこれを修正できますか?

4

2 に答える 2

11

URL を変更する場合は、その URL に関連付けられたアクションへのリダイレクトが必要です。

[HttpPost] 
public ActionResult Start(SomeViewModel someViewModel) 
{
  ...
  return RedirectToAction("SomeOtherAction");
}

アクションSomeOtherActionはビューを表示します。

于 2011-02-06T22:06:59.350 に答える
8

View(...)メソッドはリダイレクトせず、現在のリクエストで特定のビューをレンダリングするだけです。ビューのフォームで特定の URL をターゲットにする必要がある場合は、コントローラー/アクションの詳細をフォーム メソッドに渡すことができます。

Html.BeginForm("action", "controller")

...など

于 2011-02-06T22:08:05.660 に答える