重定向问题

时间:2010-01-22 13:10:15

标签: asp.net-mvc asp.net-mvc-2 asp.net-mvc-routing

我在客户端有这个代码:

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

1 个答案:

答案 0 :(得分:0)

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

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

执行所需操作的最简单方法是发布表单,而不是使用$.post,这是$.ajax的快捷方式,如下所示:

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