私はMVCアプリケーションをローカルで開発しており(IIS Express)、テストのために定期的にIIS7.5に展開しています。
Global.asax.csファイルに新しい名前のRouteを追加しました。
routes.MapRoute(
"MyCustomRoute", // Route name
"{documentID}/{year}", // URL with parameters
new { controller = "Documents", action = "CurrentVersion", year = DateTime.Now.Year }, // Parameter defaults
new { documentID = @".*\d+.*" } // Regex matches only where documentID contains numerical values.
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Documents", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
「MyCustomRoute」を使用してHtml.RouteLinkを設定しましたが、すべてローカルマシンで正常に機能します。ただし、これをWebサーバーで実行すると、Html.RouteLinkが空のリンクを生成します。さらに、URLをブラウザに直接入力すると、404が表示されます。
ルートが登録されていないようです。私は何が欠けていますか?