我有一個webforms 4項目,我使用url路由Webforms 4 url路由多個匹配
在某些情況下,給定的路線可以匹配多個模式。
似乎路由機制以特定順序嘗試每個模式,並停止在第一個匹配。 (糾正我,如果我錯了)。如果所選模式的資源(主要是一個aspx文件)不存在,我們有一個404錯誤(資源不存在)。
下一個匹配模式映射到現有資源,但該機制不會嘗試。
實施例(使用類似於對MVC命名約定)
routes.MapPageRoute("Action", "{controler}/{action}/{*pathInfo}", "~/Views/{controler}/{action}.aspx");
routes.MapPageRoute("Overview", "{controler}/{*pathInfo}", "~/Views/{controler}/Overview.aspx");
因此,有一個/Views/Patient/Overview.aspx和/Views/Patient/Search.aspx的文件系統上。
路線「/患者」將匹配所述第二圖案和映射到「/Views/Patient/Overview.aspx」
路線「/患者/搜索」將匹配第一圖案映射到「/Views/Patient/Search.aspx」
路線「/人/搜索/ SomePathInfo」將匹配第一圖案和映射到「/查看/人/海rch.aspx 「(治療」 SomePathInfo」的URL的一部分的{*} panthinfo一部分)
現在,問題是,路線 「/患者/ SomePathInfo」 兩個圖案相匹配。第一個將「SomePathInfo」視爲{action}部分(搜索不存在的「/Views/Patient/SomePathInfo.aspx」)。第二個將「SomePathInfo」視爲{* pathInfo}部分,並映射到現有的「/Views/Patient/Overview.aspx」。
該機制雖然嘗試第一個,但它找不到SomePathInfo.aspx文件,並引發404錯誤。
我的問題是「有沒有辦法來引導機制,以嘗試每個模式,直到它找到一個現有的資源(或者,更一般的,直到某些條件得到滿足?[點擊這裏:resource.exists] 「!