我想設計我們的控制器和操作是這樣的:處理瑣碎和複雜的操作以及路線
有每一個被稱爲「StaticPage(字符串頁)」(有關創建BaseController從派生思想控制器的一個行動但現在,我們只會談論「套件」作爲控制器)。
此操作返回視圖,主要包含HTML代碼並且不包含模型。 因此,我不希望爲20個不重要的視圖創建20個動作,而是希望通過一個參數來管理和區分它們。
但是在同一個控制器上,我希望他們有動作,返回與模型視圖,並做更復雜的和數據庫相關的東西。起初,我想到了以下路線(注:在這種情況下,存在一個面積「產品」):
context.MapRoute(
"Product_default",
"Product/{controller}/{action}",
new { action = "index"}
);
context.MapRoute(
"StaticPage_Route",
"Product/{controller}/{page}",
new { action = "StaticPage", page = UrlParameter.Optional
);
因此,可以說,我們得到了查看TechnicalSpecification.cshtml和TrivialPage。 CSHTML當我打電話
/產品/套件/ TechnicalSpecification
應搜索,找到行動 「TechnicalSpecification」,但是當我嘗試
/產品/套件/ TrivialPage
也應該先搜索行動 「TrivialPage」。但是,當它沒有找到它時,它應該將其視爲一個稱爲頁面的參數(就像我在上面提到的路線)。
但我真的不知道,如何管理這個權利。 有沒有設置自定義ActionFilter屬性,檢查OnActionExecuted(...)中的某些東西,然後做一些事情來調用「StaticPage」 - 行動?