Вы можете использовать атрибут, который я нашел в net , который обрабатывает несколько кнопок в одной форме. Это определит, какое действие выполняется на контроллере. Таким образом, у вас может быть 4 действия на контроллере, и правильное выполняется в зависимости от того, какая кнопка была нажата, независимо от того, где она была вызвана.
Так мало примеров; разметка ...
<input type="submit" name="action" value="step1"/>
<input type="submit" name="action" value="step2"/>
<input type="submit" name="action" value="step3"/>
<input type="submit" name="action" value="step4"/>
Тогда в контроллере ...
[HttpPost]
[MultiButton(MatchFormKey = "action", MatchFormValue = "step1")]
public ActionResult Step1(/* parameters */) { ... }
[HttpPost]
[MultiButton(MatchFormKey = "action", MatchFormValue = "step2")]
public ActionResult Step2(/* parameters */) { ... }
[HttpPost]
[MultiButton(MatchFormKey = "action", MatchFormValue = "step3")]
public ActionResult Step3(/* parameters */) { ... }
[HttpPost]
[MultiButton(MatchFormKey = "action", MatchFormValue = "step4")]
public ActionResult Step4(/* parameters */) { ... }
Затем вы можете с относительной легкостью нажимать между любыми шагами в процессе регистрации (возможно, после того, как проверка пройдена и вы прошли каждый первый шаг).
Надеюсь, это кому-нибудь поможет. Я только что зафиксировал дату публикации вопроса, но решил, что все равно отправлю: -)