我正在尋找一些示例或路由的示例,以用於以下類型的場景:MVC路由中控制器的類別? (在獨立命名空間中複製控制器名稱)
做事情的一般示例是:{controller}/{action}/{id }
所以在做一個商店產品搜索的情況下,你就必須:
public class ProductsController: Controller
{
public ActionResult Search(string id) // id being the search string
{ ... }
}
假設您有幾家商店做到這一點,你想,始終是有什麼辦法可以再有:{category}/{controller}/{action}/{id}
因此,您可以針對特定商店進行特定搜索,但是針對不同的商店使用不同的搜索方法?
(如果需要的店名比函數本身的網址更高的優先級)
或將它歸結爲:
public class ProductsController: Controller
{
public ActionResult Search(int category, string id) // id being the search string
{
if(category == 1) return Category1Search();
if(category == 2) return Category2Search();
...
}
}
它可能不是一個很好的例子,但基本上這個想法是使用相同的控制器名稱,因此在幾種不同的情況下都有一個簡單的URL,或者您是否需要唯一的控制器名稱,並且沒有辦法將它們放在稍微不同的名稱空間/目錄中?
編輯補充:
其他原因,我想這是因爲我可能要具有類別的URL,並且某些控制器將只在某些類別的工作。
IE:
/本/搜索/項目/搜索+長期< - 工程
/是/搜索/項目/搜索+長期< - 將無法正常工作 - 因爲搜索控制器是不允許的。
1.0版本中的「區域」概念是否解決了這個問題? – hometoast 2009-06-01 01:10:30