2010-12-07 21 views
1

コントローラと同じ名前の実際のフォルダがあります。したがって、この結果のリンクは:ルーティングの問題

<li><%= Html.ActionLinkForAreas<BlaController>(c => c.Index(1), "BlaDiBla")%></li> 

などです。 (フォルダ名=コントローラー名)

が動作を停止

www.bla.com/foldername。

私はこの動作をできるだけ簡単に避けることができますか(私は同じ名前のフォルダが必要です)。

ありがとうございました。ルートを見る前にIISがはないが優先権を得るんが、System.Web.RoutingでASP.netルーティングエンジンは、物理ファイル(またはディレクトリ)を探し

幸運を祈り、

クリスチャン

+0

私が今までに見つけたベストソリューションは、routes.RouteExistingFiles = true;それはあまりにも粗粒であるかもしれない。どう思いますか? – cs0815

答えて

2

あなたは定義しました。

これをグローバルレベルでRouteCollection.RouteExistingFilesプロパティで切り替えることができます。これにより、ファイルシステムよりもルート定義が優先されます。あなたがこれを変更するときにすべてのルートをテストすることを確認してください!

Considerations when turning on RouteExistingFilesも参照してください。

+0

ありがとうございます。これはうまくいくようです:routes.RouteExistingFiles = true; routes.IgnoreRoute( "コンテンツ/ {*ワイルドカード}"); – cs0815

+0

routes.IgnoreRoute( "Scripts/{* wildcard}");を忘れないでください。そうでなければJSは動作しません! – cs0815