0
我試圖路由一個沒有靜態行爲的URL,即用戶可以創建可以由任何字符串表示的系統。我想有像下面這樣的URL:MVC高級路由
http://yousite.com/System/WIN1234/Configure
默認的路由機制認爲,WIN1234是行動,而我希望能夠趕上WIN1234,並作出決定哪些方法扔。如在:
public void RouteSystemRequest(string system, string action)
{
switch (action)
{
case "Configure":
ConfigureSystem(string system);
break;
}
}
我該如何做到這一點?這是合乎邏輯還是我在想這一切都是錯誤的?
我設置了您發佈的代碼,將控制器從主頁更改爲系統。我期望的路線去 SystemsController.Index(字符串id,字符串系統) id = param1,system = param2 我得到一個資源無法找到錯誤。我究竟做錯了什麼? – 2009-12-05 02:59:23
這條路線需要是您序列中的第一條。您設置的控制器也必須有名爲param1或param2的參數。不是系統和身份證。 – 2009-12-05 03:14:17
我希望總體路由結構保持與系統控制器的例外相同。有沒有一種方法可以對路由施加約束,只有在控制器是System時才發送到RouteSystemRequest(string systemName,string action)。即 帳戶/安裝程序仍將遵循默認的控制器=「帳戶」和操作=「設置」,但系統/ WIN1234 /配置將路由到RouteToSystem(字符串systemName,字符串操作) 謝謝! George – 2009-12-09 02:39:28