2012-12-06 50 views
1

我有一个mvc4/jquerymobile应用程序,我很难搞清楚为什么在从控制器操作返回RedirectToRoute(rvd)后,重定向到网址没有显示。asp.net mvc jquerymobile redirectotroute不更改网址

我开始一个编辑网页上的流程与http://localhost/Report/Params/9一种形式。我编辑表格,提交,Report控制器,Params [HttpPost]动作启动。它验证表单值,将它们拖到一边,然后将其中的很多内容与我的控制器(“Report”)和新操作(“Render”)属性一起添加到RouteValueDictionary中。

所有这一切都会正常,而我带到了“渲染”的说法,但在浏览器中显示的网址仍然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> 

感谢

编辑:这是我的重定向功能的紧密副本...

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

你可以发布你的方法,其中返回重定向? – Jack

+0

后更新重定向方法。 – reidLinden

回答