2013-02-05 26 views
0

我映射這條路線:確定其中的URL應該在C#中的MVC 4路由映射劈裂

routes.MapRoute(
    "VotePage", 
    "{category}/{medicine}/{id}-{condition}", 
    new { controller = "Reactions", action = "Test" } 
); 

然而,當我有這樣的最後一個斜線後的網址: 「/ 8438-此結果-a-測試條件」
比參數被設定如下:
ID = 8438此結果是-A-測試
條件=條件

雖然正確的結果應該是:
ID = 843 8
condition = this-is-a-test-condition

如何在第一個短劃線上拆分/分隔網址?

在此先感謝!

回答

0

如果我理解正確的話,這應該工作

String foo = "/8438-this-is-a-test-condition"; 

if(foo.StartsWith("/") 
{ 
    foo = foo.Split('/')[1]; 
} 

編輯: ....不,我沒有理解錯的話。對不起,下次我會仔細閱讀。

我不知道如何達到你所要求的。我試探性地只是去尋找和替換魔術,不漂亮,但它的作品....

+0

我無法在映射路由時以這種方式更改字符串。我更多的是尋找RegEx類型的解決方案。不過謝謝。 –

0

不可以這樣做嗎?

"{category}/{medicine}/{id}/{condition}" 
+0

這是可能的,但你知道那些SEO傢伙... 而我們沒有「{category}/{medicine}/{id} /」的頁面,這意味着人們無法通過更改Url來瀏覽頁面,這我們想保留。 –