Проблема перенаправления - PullRequest
0 голосов
/ 22 января 2010

У меня есть этот код на стороне клиента:

$.post('<%=Url.Action("Action_Name","Controller_Name")%>', { serverParam: clientParam}, null, null);

А этот код на стороне сервера:

[HttpPost]
public ActionResult Action_Name(string serverParam)
{
    return View();
}

Я в данный момент нахожусь в представлении, и когда я нажимаю кнопку, я хочу быть перенаправлен на Controller_Name / Action_Name / serverParam После публикации меня отправляют в методе действия, но я все еще вижу старое представление, а не Action_Name (Action_Name.aspx существует) (Я использую mvc 2)

1 Ответ

0 голосов
/ 22 января 2010

Во-первых, вы должны следовать шаблону «Post / Redirect / Get», возвращая результат перенаправления вместо просмотра после успешной публикации. Но это не решит проблему, о которой вы на самом деле спрашиваете.

Это AJAX POST, а не "обычный" POST. Таким образом, браузер не будет учитывать ответ перенаправления путем перенаправления. Вы можете «перенаправить» свой ответный обратный вызов, установив window.location, но ...

Самый простой способ сделать то, что вы хотите, это просто опубликовать форму, а не использовать $.post, что является ярлыком для $.ajax, например:

$("#someForm").submit();
...