2010-01-22 125 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_NameAction_Name.aspx存在) (我使用MVC 2)

回答

0

首先,你应该遵循“邮政/重定向/获取“模式通过在成功发布后返回重定向结果而不是视图。但这并不能解决你实际问到的问题。

这是在做AJAX POST,而不是“常规”POST。因此,浏览器不会通过重定向来兑现重定向响应。通过设置window.location在您回应的回调你可以“重定向”,但是......

最简单的方式做你想做的是刚刚发布的形式,而不是使用$.post,这是一个捷径$.ajax,这样:

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