确定在C#MVC 4路由映射中应该分割Url的位置

时间:2013-02-05 14:11:23

标签: c# asp.net-mvc-4 routing

我正在映射这条路线:

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

但是当我在最后一个斜线后面有一个url时: " / 8438-这是一个测试条件"
比参数设置如下:
id = 8438-这是一个测试
条件=条件

虽然正确的结果应该是:
id = 8438
condition = this-is-a-test-condition

如何在第一个短划线上拆分/分隔网址?

提前致谢!

2 个答案:

答案 0 :(得分:0)

如果我理解正确,这应该有效

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

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

编辑: ....不,我没有正确理解你。对不起,下次我会仔细阅读。

我不确定如何实现你所要求的。我可以探索一下,找到并替换魔法,不是很漂亮,但它有效......

答案 1 :(得分:0)

不能这样做吗?

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