Я могу предложить добавить новое свойство к вашей модели представления и назвать его ActionType.
public string ActionType { get; set; }
и затем измените ваш файл cshtml, как показано ниже
@using (Html.BeginForm())
{
<div id="mytargetid">
...some inputs*@
</div>
<button type="submit" name="actionType" value="Recalculate" >Recalculate price</button>
<button type="submit" name="actionType" value="DoReservation" >Submit</button>
}
в методе после действия, основанном на значении ActionType, вы можете решить, что делать!
Я заметил, что в ваших комментариях вы упомянули, что вам нужно вернуть частичное и заменить, если с возвратом частичного нет проблем, вы можете использовать
@using (Ajax.BeginForm("DoProcess", new AjaxOptions { UpdateTargetId = "mytargetid", InsertionMode = InsertionMode.Replace }))
и в контроллере измените свое действие, чтобы вернуть частичное представление или код сценария java для перенаправления страницы
public ActionResult DoProcess(FormModel model)
{
if (model.ActionType == "Recalculate")
{
return PartialView("Test");
}
else if (model.ActionType == "DoReservation")
{
return JavaScript(string.Format("document.location.href='{0}';",Url.Action("OtherAction")));
}
return null;
}