我在客户端有这个代码:
$.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 :(得分:0)
首先,您应该通过在成功发布后返回重定向结果而不是视图来遵循“发布/重定向/获取”模式。但这并不能解决你实际要问的问题。
这是在做一个AJAX POST
,而不是“常规”POST
。因此,浏览器不会通过重定向来兑现重定向响应。您可以通过设置window.location
来“重定向”您的回复回调,但是......
执行所需操作的最简单方法是发布表单,而不是使用$.post
,这是$.ajax
的快捷方式,如下所示:
$("#someForm").submit();