我有一个mvc4 / jquerymobile应用程序,我很难弄清楚为什么在从控制器动作返回RedirectToRoute(rvd)
后,未显示重定向到的url。
我在编辑页面上以http://localhost/Report/Params/9
的形式开始此过程。我编辑表单,提交表单,Report
控制器,Params
[HttpPost]操作会启动。它验证表单值,对它们进行大量处理,然后将它们添加到RouteValueDictionary,以及我的控制器(“Report”)和新操作(“Render”)属性。
这一切都正确发生,我已进入“渲染”视图,但浏览器中显示的网址仍为http://localhost/Report/Params/9
我希望浏览器网址显示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>
由于
修改 :这是我的重定向功能的近似副本......
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;
}
答案 0 :(得分:1)