2015-12-04 29 views
0

我們正在將現有的Webforms站點轉換爲MVC。當前的URL結構與http://site/City-Category-State類似,城市和類別中的空格也是連字符,因此URL將爲/ New-York-Small-Business-NY。公司的URL結構是http://site/Company-City-Category-State,因此可以是/ Company-ABC-New-York-Small-Business-NY。正如你所看到的,真的沒有辦法直接將它映射回類別或公司控制器。這就是我們考慮使用聲明式路由的原因,因爲XML文檔會將URL映射到控制器。我在哪裏可以將代碼讀取XML並將控制器/操作分配給路由?Asp.NET MVC中的聲明式路由

回答

0

如果你有一個帶有索引方法的siteController並且將所有的路由都傳遞給它,那麼你可以讓你的索引方法把整個「City-Category-State」作爲參數並解析它,然後重定向到合適的控制器正確的值,或只是在那裏返回視圖。

+0

要說明這一點,你需要使用一個「slug」變量,它看起來像這樣,並且必須是url模板的最後一位:'{* yourvariablename}' –

+0

但是這就像創建一個假控制器一切,然後把它發送到另一個控制器嗎?我希望通過路由來完成,因此請求被直接路由到正確的控制器。 – user5640819

+0

設想了什麼樣的控制器結構?您是否要爲每個城市明確創建控制器方法? –