は、私は次のアクションを持っていると仮定します。あるアクションから別のアクションにASP.NET MVCリクエストを「転送」することはできますか?
public ActionResult DoSomething()
{
// Some business logic
return RedirectToAction("AnotherAction", RouteData.Values);
}
public ActionResult AnotherAction(string name, int age)
{
...
}
そして、次の形式:
<form method="post" action="DoSomething">
<input name="name" type="text" />
<input name="age" type="text" />
<input type="submit" value="Go" />
</form>
そのフォームに提出打撃はのdoSomethingアクションに行き、そしてAnotherActionへ順番になります - 関連するすべての値をの名前と年齢に渡します。それは治療を働く!
しかしdoSomethingのからリダイレクトするとき、彼らが失われているので、私は明らかに、AnotherActionで、他の送信されたフォームの値にアクセスすることはできません:
public ActionResult AnotherAction(string name, int age)
{
// This won't work
var other = Request.Form["SomeDynamicVariable"];
}
TransferToAction方法は、より理想的である何、その
return TransferToAction("AnotherAction");
:MVCエンジンが再実行されるフォームは
AnotherAction代わりに投稿されていたが、「想像」
これを行うことはできますか?
この機能をすぐに使用できない場合は、作成してブログに書き込んで投稿します。
TempDataからフォームを取得するために特別なコーディングを必要としないTransferToActionほどうまくいきません – joshcomley
コントローラ/ベースにTransferToActionメソッドをすばやく書き込むことができますコントローラクラス。:) –
@lakario - 私はできましたが、私はMVCでそれを行うためのメカニズムが既に存在するかどうか疑問に思っていました:) – joshcomley