Asp.net mvc asp.net mvc jquerymobile RedirectorRoute不';不要更改url
我有一个mvc4/jquerymobile应用程序,我很难弄清楚为什么在从控制器操作返回Asp.net mvc asp.net mvc jquerymobile RedirectorRoute不';不要更改url,asp.net-mvc,jquery-mobile,Asp.net Mvc,Jquery Mobile,我有一个mvc4/jquerymobile应用程序,我很难弄清楚为什么在从控制器操作返回RedirectToRoute(rvd)后,重定向到的url没有显示出来 我在编辑页面上以http://localhost/Report/Params/9。我编辑表单并提交,然后报告控制器,参数[HttpPost]操作启动。它验证表单值,对它们进行一点咀嚼,然后将它们连同我的控制器(“报告”)和新操作(“渲染”)属性一起添加到RouteValueDictionary 这一切都发生得很正确,我进入了“渲染”视图
RedirectToRoute(rvd)
后,重定向到的url没有显示出来
我在编辑页面上以http://localhost/Report/Params/9
。我编辑表单并提交,然后报告
控制器,参数
[HttpPost]操作启动。它验证表单值,对它们进行一点咀嚼,然后将它们连同我的控制器(“报告”)和新操作(“渲染”)属性一起添加到RouteValueDictionary
这一切都发生得很正确,我进入了“渲染”视图,但浏览器中显示的URL仍然是http://localhost/Report/Params/9
我希望浏览器url显示http://localhost/Report/Params/9?p1=1&p2=2&p3=3
相反,因为我希望用户能够将一个参数集作为书签,以便以后使用
我错过了什么?我认为这个问题与jquerymobile处理提交按钮点击有关。我试图用data ajax=false来缓解这种情况,但似乎没有任何帮助
<button type="submit" data-theme="b" name="submit" value="submit-value" data-ajax="false">
Submit
</button>
您可以将您的方法发布到返回重定向的位置吗?使用重定向方法更新post。
public ActionResult Params(FormCollection Params ) {
RouteValueDictionary rvd = new RouteValueDictionary();
// example values //
rvd.Add("controller", "Report");
rvd.Add("action", "Render");
rvd.Add("id", 10);
rvd.Add("p1", 1);
rvd.Add("p2", 2);
rvd.Add("p3", 3);
RedirectToRouteResult rrr = RedirectToRoute(rvd);
return rrr;
}