テキスト フィールドのみの単純なフォームを使用して、アクション メソッドで使用される情報を取得して、別のアクション メソッドにリダイレクトしようとしています。コンテキストは次のとおりです。
指定された回数「moo」を出力するglobal.asax.csファイルにマップされたルートがあります。たとえば、「www.cows.com/Moo8」と入力すると、「Moo」が 8 回出力されます。数字は任意で、URL の数字として「Moo」がいくつでも表示されます。また、次のようにホームページにフォームを設定しています。
@using (Html.BeginForm("Moo", "Web"))
{
<text>How many times do you want to moo?</text>
<input type="text" name="mooNumber" />
<input type="submit" value="Moo!" />
}
フォームで送信された数値は、「Web」コントローラー (WebController.cs) のアクション メソッド「Moo」に送信する必要があります。
[HttpPost]
public ActionResult Moo(int mooNumber)
{
Console.WriteLine(mooNumber);
return RedirectToAction("ExtendedMoo", new { mooMultiplier = mooNumber });
}
最後に、「Moo」アクション メソッドによって元の「www.cows.com/Moo8」ページに戻るはずです。上記のように、既存のアクション メソッド「ExtendedMoo」を単純に使用しました。
public ViewResult ExtendedMoo(int mooMultiplier)
{
ViewBag.MooMultiplier = RouteData.Values["mooMultiplier"];
return View();
}
フォームで送信された値にアクセスして、「ExtendedMoo」への最後の呼び出しで使用するにはどうすればよいですか?