2010-01-22 2 views
0

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

$.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)

ответ

0

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

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

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

$("#someForm").submit(); 
Смежные вопросы