Asp.net
帶有名為“PropertiesController”的控制器的 ASP.NET MVC 路由
我在嘗試使用名稱為 PropertiesController 的控制器(以及隨後的路由)時遇到了一個棘手的問題(請耐心等待,因為我是 MVC 的新手)。
我相信這是因為我的解決方案中有一個名為“Properties”的目錄(我無法真正刪除)。有辦法解決這個問題嗎?
路線設置只是一個簡單的路線:
routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Properties", action = "List", id = "" } // Parameter defaults );請求“ http://localhost/aptment2/properties/ ”時我在 IIS7 中遇到的錯誤是:
當然有辦法解決這個問題,我就是找不到?乾杯。
由於其他人也有同樣的問題,我猜你在這裡遇到了一個保留的關鍵字(我想 ClassControllers 也出來了)。
這也不是第一次發生 - 深入探勘環境的內部,您也無法路由到 Windows 的保留關鍵字。
我
PropertiesController在配置為使用 IIS Express 的 MVC 3 應用程序上進行了設置。我沒有得到你所做的確切錯誤,但它是相似的(404.20 沒有預設文件),我確信它是出於同樣的原因。它在我們的生產環境中根本不會引起問題,因為我們發布了應用程序的編譯版本,然後它沒有 Properties 文件夾。
為了在本地開發時解決這個問題,我將所有靜態內容(腳本/css/etc…)放在一個目錄中,我在打開
RouteExistingFiles.routes.IgnoreRoute("static/{*wildcard}"); routes.RouteExistingFiles = true;這解決了我的問題,現在我可以無錯誤地瀏覽 example.com/properties/。
