Компоновка этого приложения ASP.NET MVC выглядит следующим образом (это мобильный веб-приложение):То же действие Вызывается неожиданно
- Page 1 является вопрос 1 -> Отправить форму и возврат Page 2 Посмотреть
- Page 2 является вопрос 2 -> Отправить форму и вернуться стр.3 Посмотреть
- Page 3 - последний вопрос -> Отправить до полной обработки
После того, как каждая из форм отправит, я ожидаю, что представление следующей страницы появится и отправит соответствующим образом. Но то, что на самом деле происходит на Page 1, когда я нажимаю кнопку отправки, он показываетPage 2 в вид, но теперь, когда я нахожусь на Page 2 и я ударил представить на этой странице, он называет Действие Страница 1'sHttpPost
.
Что бы вызвать Page 2-х представить называть страниц 1HttpPost
Action?
Вот основная идея о том, что я делаю:
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(MyModel myModel)
{
return View("Page2", myModel);
}
[HttpPost]
public ActionResult Page2(MyModel myModel)
{
return View("Page3", myModel);
}
[HttpPost]
public ActionResult Page3(MyModel myModel)
{
if (ModelState.IsValid)
{
// do something and complete
}
return RedirectToAction("Index", "Home");
}
Это, очевидно, упрощенно, но вы должны получить идею. Просмотр Page2
невозможен. Но на этой странице, когда нажата кнопка отправки, она вернется к HttpPost
из Index()
.
Любые идеи?
какая форма URL-адрес действия создается на странице2? –
Контроллеры, вероятно, имеют меньше общего с тем, что вы описываете, чем тем, как вы их называете. Возможно, вы можете описать, как вы называете свои методы? –