У меня есть контроллер с действием «Подробности» и «Редактировать».
Я перехожу к Редактировать , используя View();
, после чего отображается страница с частичным просмотром.
В частичном виде есть форма:
@using (Html.BeginForm("CreateOrEdit", "Licenses", FormMethod.Post, new { @class = "pure-form pure-form-aligned", id = "change", onsubmit = "process(this);" }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<div class="floatLeft width100per">
@Html.HiddenFor(model => model.Id)
@Html.HiddenFor(model => model.CustomerId)
<button onclick="goBack()" type="button" class="pure-button pure-button-primary newButton">Back</button>
<input type="submit" value="Save" class="pure-button pure-button-primary newButton marginRight10" onclick="getModules(); setGuid('@Guid.NewGuid()');" />
<div class="floatLeft pure-form">
Функция goBack ():
function goBack() {
history.go(-1);
}
Если я перейду к Редактировать и нажму кнопку возврата, все в порядке.
Но если я нажму кнопку Сохранить , форма будет отправлена и будет вызвано действие CreateAndEdit - все еще в порядке.
Действие CreateAndEdit использует:
RedirectToAction("Details", new { id = license.Id });
чтобы снова перейти на Подробности .
Затем, если я снова зайду в «Редактировать» и затем нажму Назад -
CreateAndEdit действие вызывается снова - не ОК!
Как всегда вернуться на страницу «Подробности», не вызывая CreateAndEdit при нажатии Back .