MVCプロジェクトのすべてのURLを変更する必要がありますが、これまでのところ、これは非常に簡単です。global.asax.csファイルのすべての適切なroutes.MapRoute()のURL文字列を変更するだけで済みます。
特に1つのリンクは頑固に動作していて、変更されません。これは、パラメーターを持つ唯一のリンクであるためだと確信しています。
問題のmapRouteは次のとおりです。
routes.MapRoute(
"Mortgage.GetThisRate",
"mortgage-rates/mortgage-rate-details/{groupId}/{paymentType}/{mortgageValue}/{province}",
new { controller = "Mortgage", action = "GetThisRate", paymentType = UrlParameter.Optional, mortgageValue = UrlParameter.Optional, province = UrlParameter.Optional },
new { groupId = "\\d+", paymentType = "\\d+", mortgageValue = "\\d+", province = "\\d+" }
);
そして、このmapRouteを呼び出すボタンは次のとおりです。
@Html.OmnitureButton( Url.Action("GetThisRate", new { groupId = info.GroupId }), "<span class=\"payment\"></span><br />Get Details", new {@class = "orange"}, "events", "event3", "", "event3", "", "Mortgage LearnMore")
このボタンを押すと、要求されるURLは次のようになります。http://www.apps.mysite.net/Mortgage/GetThisRate/8/48/200000/1-mapRouteメソッドのURL文字列を完全に無視しているように見えます。
このmapRoute()をglobal.asax.csの先頭に配置して、優先度の高いルートによって無視されないようにしましたが、同じ問題が解決しません。
ここで何が問題なのかを理解できるMVCルーティングに精通している人はいますか?