Я пытаюсь использовать простую форму только с текстовым полем, чтобы получить некоторую информацию, которая будет использоваться в методе действия для перенаправления на другой метод действия. Вот контекст:
В моем файле global.asax.cs указан маршрут, который печатает «moo» заданное количество раз. Например, если вы ввели «www.cows.com/Moo8», «Moo» будет напечатано 8 раз. Число является произвольным и будет печатать сколько угодно «Moo» как число в URL. У меня также есть форма на домашней странице, настроенная следующим образом:
@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!" />
}
Число, представленное в форме, следует отправить методу действия «Moo» в контроллере «Web» (WebController.cs):
[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»?