ASP.NET MVC は初めてで、解決できない問題に遭遇しました。Google で 2 日間検索しましたが、まだ何も見つかりません。
したがって、私の状況は次のとおりです。ルーティングを使用して、ASP.NET MVC アプリケーションにローカリゼーションを実装しようとしています。
www.mysite.com/Home/Index
- デフォルト (ロシア語)
www.mysite.com/en/Home/Index
- 英語の場合
だから私はルートを登録しています:
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
"Default",
"{controller}/{action}",
new { controller = "Home", action = "Index"},
new { controller = "^[a-zA-z]{4,}$" }
);
routes.MapRoute(
"Localization",
"{lang}/{controller}/{action}",
new { lang = "en", controller = "Home", action = "Index" }
);
}
デフォルトへの移動:正常にwww.mysite.com/Home/Index
動作します。しかし、ナビゲートしようとするwww.mysite.com/en/Home/Index
と、404 error
.
さらに興味深いのRouteDebugger
は、新しいルートが表示されないことです。
新しいルートをさらに追加したり、マッピングの順序を変更したり、すべてのルートを削除したりしても何も起こりません。ルート{controller}/{action}/{id}
は、「私の前に」追加されたMVCのデフォルトルートにすぎないようです。
それで、何が問題になるのでしょうか?まったくわかりません!Rote Debugger のスクリーンショットを他のサイトから見たことがありますが、それらのルートが表示されています。たとえば、他のサイト:スクリーンショット
多分私はで何かを変更する必要がありweb.config
ますか?私は完全に混乱しています。助けてください!お時間をいただきありがとうございました!