有沒有辦法在ASP.NET MVC v3中做迴歸路由處理?ASP.NET MVC備用路由
以下是我的業務案例示例:如果給定URL「www.mysite.com/faq/Index」,我希望檢查控制器「常見問題」是否存在路由,操作「索引」
routes.MapRoute("Default","{controller}/{action}/{id}",
new { id = UrlParameter.Optional });
如果無法解決,通常會引發404錯誤。相反,我想它使用這條路線:
routes.MapRoute("Content", "Content/{*contentPath}",
new { controller = "Content", action = "RenderPageByURL" });
如果失敗,那麼它應該返回一個404
我想我可以創建一個自定義錯誤處理程序,但這似乎缺憾。任何想法從哪裏開始?或者這是一個真正的壞主意(TM),我應該回到業務並告訴他們使用正確的路徑開始?謝謝。
編輯。爲了澄清,我並不試圖通過簡單的URL匹配來匹配路由。我希望路由機制足夠聰明,知道路由是否會成功並找到合適的控制器。
那麼這是否意味着如果www.mysite.com/faq/Index並沒有FaqController,它會轉到ContentController?我認爲它會拋出404錯誤。 – bryanjonker
路由的工作原理是:如果傳入的請求與第一個路由匹配失敗,那麼它將與第二個匹配,直到結束。在這個例子中,你給出了兩個路由不匹配的請求,產生了一個404. – VJAI
我試過在一個測試項目上。默認路由自動抓取/ content/faq路由並拋出404錯誤。它從未到達第二條路線。 – bryanjonker