我的网址如下:www.example/videos/category1,category2,category3/sex/hospital/doctor 但在我的网址中 category1 和 category2 和 category3(可能是 1 或太多)可以为空/空。性别或医院或医生也可以为空。我如何检测哪一个为空。如果类别为空。然后 mvc 将性别视为类别,将医院视为性别。我可以使用什么样的方法?
问问题
54 次
1 回答
1
MVC 无法判断较早的 URL 部分是否为空,因为它是不同的路由。
如果您的路线是:
视频/{categories}/{subcategory1}/{subcategory2}/{subcategory3}/
所有都是可选的。但是,如果类别与其他子类别不同,则当它为空时,您需要有一个占位符。基本上,当类别为空时,您需要另一条路线。
context.MapRoute(
"video_nocategories",
"videos/all/{subcategory1}/{subcategory2}/{subcategory3}/",
new
{
action = "Index",
controller = "Video",
categories = "",
subcategory1 = UrlParameter.Optional,
subcategory2 = UrlParameter.Optional,
subcategory3 = UrlParameter.Optional,
}
);
context.MapRoute(
"video_categories",
"videos/{categories}/{subcategory1}/{subcategory2}/{subcategory3}/",
new {
action = "Index",
controller = "Video",
subcategory1 = UrlParameter.Optional,
subcategory2 = UrlParameter.Optional,
subcategory3 = UrlParameter.Optional,
}
);
于 2013-07-09T14:27:08.320 回答