1
我建立一個網站,我想只有一個控制器,它看起來就像圖像文件的請求,並且網址:我的路線包括,當我不指定控制器
\main-page\sub-page
main-page
是不控制器和sub-page
是而不是這個動作,它們只是數據庫中的頁面名稱,我想在其中進行渲染。換句話說,有很多頁面,我不想爲每個頁面都創建一個控制器。事實上,我只想要一個Home
一個Index
動作,看起來像這樣的控制器:
Function Index(ByVal Page As String, ByVal SubPage As String) As ActionResult
而且只有一個視圖,它使用的參數動態加載的頁面內容。
以下航線幾乎作品:
routes.MapRoute(
"Default", _
"{page}/{subpage}", _
New With {.controller = "Home", .action = "Index", .page = "Landing", .subpage = "Index"}
)
但問題是,它也撿的文件,例如,/images/somefile.jpg
請求,因爲該路由相匹配。
所以問題是:如何在沒有錯誤地獲取圖像請求的情況下做到這一點,或者是否有完全不同的方式來支持我想要做的事情?
如果這條路徑上的文件,應在路由機制踢之前返回,這就是它是如何工作在默認情況下,所以我會某處尋找合適的方案其他。如果該路徑中不存在文件,路由機制將只處理路徑。 – LukLed
現在你提到它,它看起來好像文件請求是針對不存在的文件的,但這也不好,因爲那麼,而不是在頁面中獲取缺少的圖像,整個頁面崩潰(因爲應用程序看起來在不存在的頁面的數據庫)。另外,我確定瀏覽器會爲返回404的圖像做一些不同的事情,而不是返回一些ASP.NET錯誤的圖像。所以我想下一個問題是:我該如何處理這個新問題? –
route.IgnoreRoute()爲靜態資源路徑可能是在這裏的方式 – LukLed