HttpPost не перенаправляется на просмотрC#

Место общения программистов C#
Ответить
Anonymous
 HttpPost не перенаправляется на просмотр

Сообщение Anonymous »

У меня есть кнопка, открывающая модальное окно, которое я использую для редактирования имени.

Код: Выделить всё

[i][/i]

Вот модальное окно

Код: Выделить всё





Edit Name

...




Это скрипт ajax

Код: Выделить всё

showInPopup = (url, title) => {
$.ajax({
type: 'GET',
url: url,
success: function (res) {
$('#editModal .modal-body').html(res);
$('#editModal .modal-title').html(title);
$('#editModal').modal('show');
// to make popup draggable
//$('.modal-dialog').draggable({
//    handle: ".modal-header"
//});
}
})
}
А это частичный вид внутри модального окна:

Код: Выделить всё

@model RequestViewModel

@{
Layout = null;
}




@Html.HiddenFor(x => x.SharedFile.Id)
New Folder Name
@* New Folder Name *@
@*                  *@




Close
Save changes



Кнопка отправки обрабатывается с помощью этого ajax-скрипта.

Код: Выделить всё

jQueryAjaxPost = form => {
try {
$.ajax({
type: 'POST',
url: form.action,
data: new FormData(form),
contentType: false,
processData: false,
success: function (res) {
if (res.isValid) {
$('#editModal .modal-body').html('');
$('#editModal .modal-title').html('');
$('#editModal').modal('hide');
}
else
$('#form-modal .modal-body').html(res.html);
},
error: function (err) {
console.log(err)
}
})
//to prevent default form submit event
return false;
} catch (ex) {
console.log(ex)
}
}
Наконец, вот метод контроллера для его обработки:

Код: Выделить всё

[HttpPost]
public ActionResult EditName(int id, string fileOrFolderName, BaseViewModel bvm)
{
RequestViewModel rvm = ChangeRequest.SubmitEditFileOrFolderNameRequest(bvm.SharedFile, fileOrFolderName, User.Identity.Name, _memoryCache);
rvm.SharedFile = DAL.GetFolderContents(id);

return View("Confirmation", rvm);
}
ВСЕ работает так, как ожидалось. Мои данные возвращаются в методе POST правильно, и моя точка останова достигается в последней строке

Код: Выделить всё

return View("Confirmation", rvm);
который, как я ожидаю, приведет меня на эту страницу и отобразит сообщение с подтверждением.
Но вместо этого перенаправления не происходит. Это потому, что я вызываю из частичного представления внутри модального окна?
Вместо этого я пытался использовать RedirectToAction — безуспешно. У меня на странице есть другая кнопка, которая не использует частичный просмотр и переводит меня на страницу подтверждения, как и ожидалось.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ct-to-view
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»