Предположим, у меня есть следующие действия:
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 - передаче всех соответствующих значений в name и возраст . Это работает удовольствие!
Но Я, очевидно, не могу получить доступ к любым другим отправленным значениям формы в AnotherAction , потому что они теряются при перенаправлении из DoSomething:
public ActionResult AnotherAction(string name, int age)
{
// This won't work
var other = Request.Form["SomeDynamicVariable"];
}
Что было бы более идеальным, так это метод TransferToAction , который повторно запускает механизм MVC, "воображая", что форма была отправлена на AnotherAction вместо:
return TransferToAction("AnotherAction");
Могу ли я сделать это?
Если эта функциональность недоступна "из коробки", я сделаю это, опубликую ее и опубликую!