asp.net mvc jquerymobile redirectotroute不会更改url

时间:2012-12-06 17:57:46

标签: asp.net-mvc jquery-mobile

我有一个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;
}

1 个答案:

答案 0 :(得分:1)

查看此链接。我认为已经解决了类似的问题

jQuery Mobile/MVC: Getting the browser URL to change with RedirectToAction

阿尔乔姆