我有在ASP .NET的mvc 5文件夾名稱和路線一個惱人的問題,的ASP.NET MVC 5文件夾名稱和路由衝突
這是默認的路由我使用的是:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Site", action = "Index", id = UrlParameter.Optional }
);
而且我還使用自定義視圖引擎將視圖映射到根文件夾而不是〜/ Views,這樣我就可以以我的團隊可以處理的方式組織HTML/CSS/JS文件。
的問題是:當我打電話/Backoffice/Index
它會正常,在控制器Backoffice
執行行動Index
,都很好,但是當我們調用/Backoffice
,我預計它設定的動作指數(由路由配置),而是, IIS似乎相信我試圖訪問文件夾/後臺,並給我一個404錯誤,而不是執行Backoffice::Index()
。
如何在這種情況下配置IIS以預期方式運行?或者,它真的是將視圖保存在特定文件夾中的唯一最佳方式嗎?
你試過'routes.RouteExistingFiles = true;'? – haim770
您需要爲** Default **以外的其他'Controllers'添加更多的'routes.MapRoute'。 –
haim770由於某種原因確實對我有效。我不得不添加一些靜態內容的路由忽略,但沒有什麼麻煩,如果您要詳細說明一個正式的答案,謝謝。 – Felype