mvc4/jquerymobile アプリケーションを持っていますがRedirectToRoute(rvd)
、コントローラー アクションから を返した後、リダイレクト先の URL が表示されない理由を理解するのに苦労しています。
のフォームを使用して編集ページでプロセスを開始しますhttp://localhost/Report/Params/9
。フォームを編集して送信すると、Report
コントローラーのParams
[HttpPost] アクションが起動します。フォームの値を検証し、それらを少し変更してから、コントローラー (「レポート」) および新しいアクション (「レンダリング」) プロパティと共に、それらの多くを RouteValueDictionary に追加します。
これはすべて正常に行われ、「レンダリング」ビューが表示されますが、ブラウザーに表示される URL はそのままです。http://localhost/Report/Params/9
http://localhost/Report/Params/9?p1=1&p2=2&p3=3
ユーザーが後で使用するためにパラメーターセットをブックマークできるようにしたいので、代わりにブラウザーの URL を表示したいと思います。
私は何が欠けていますか?この問題は、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;
}