2010-12-15 15 views
0

我有一個網站,我想喜歡的網址怎麼辦:我做multipled級別路線最好在MVC

/Some maincategory name/{id}/Some subcategory name/{id}/Some item name/{id}

我包括每個級別的ID,因爲名稱不唯一。這是可行的,但我必須爲每個級別創建一個新的路由。我的Html.ActionLink也看起來很討厭。

由於關卡完全不同,每個關卡都有自己的控制器。這些URL可能是這樣的:

_/Birds/2/Waders/4/Flamingos/23_ 
_/Mammals/5/Dogs/23/Longeared/25/Somedog/76_ 
_/Insects/7/Spiders_ 

這只是一個例子,而不是我將要使用的。我的應用程序與動物無關。

有沒有這樣做的好方法,還是應該使用標準路由?

+0

所以......你說你會有_/Birds/2/Waders/4/_ *和* _/Birds/48/Waders/7/_並且他們需要被路由到不同的控制器?我很抱歉,但我的大腦只是試圖理解你想要達到的目標而感到痛苦。幾乎可以肯定有一種方法可以放棄身份證,但是您沒有提供足夠或足夠詳細的信息來說明這一點。 – 2010-12-15 23:19:19

回答

0

有這兩種解決方案:

  1. 使用全局路由導致

    http://you.url.com/controller/action/ {MID}/{SID}/{TID}

    其中中旬=主類別ID sid =子類別號 tid =項目號碼

  2. 結合使用路由和查詢字符串

    http://you.url.com/controller/action/ {} TID?中旬= {}中旬SID & = {} SID

我會建議你使用第二種方法,那麼你不必質量了路線的東西。並希望這有助於!

+0

我知道如何在全球路線上做到這一點,但解決方案看起來很醜,我想知道是否有人知道如何以更智能/更清潔的方式做到這一點。另外我有一個控制器/每個級別的視圖,它可能會達到5個級別。我想我想要的是我的url中的一個麪包... – Lilja 2010-12-16 07:31:09

+0

我用控制器/動作/ {id}標準MVC方式來保持簡單。 – Lilja 2012-03-25 21:03:11

0

如何在每個節點上創建一個描述類別,值,url的xml文件,然後通過循環這些xml節點創建一個路由表?

這種XML也可以幫助你在你的頁面上創建麪包屑。