URL路由 - 无限网址
问题描述:
我使用asp.net MVC3和我想写一条没有尽头的路线.. 我的意思是类似的东西:URL路由 - 无限网址
www.site.com/Cameras/{id}={string}/{id}={string}/{id}={string}/{id}={string}.....
其中ID代表一个过滤器ID和字符串代表过滤器的值.. 我有很多类型的过滤器,并在未来,我希望能够增加更多的没有任何关系.. 应该如何这种途径应该看?我该如何开始处理这些参数?
答
你需要做的是写一个包罗万象的路线,然后把它解释是这样的:
routes.MapRoute("Cameras", "cameras/{*url}",
new { controller = "Cameras", action = "Index" }
);
public ActionResult Index(string url)
{
var ids = url.split('/');
// now do what you need with the ids
}
你应该使用的网址是这样的:
/摄像机/ ID1/ID2/ID3/ID4
我不确定这个问题是否确实意味着这个问题,但是如果你没有id1或者你只有id6或者什么东西?我自己并没有真正使用过任何这种类型的东西,但是如果你想添加一些参数,你就会想要做的事情 - 把它们也删除... – Chris 2012-01-03 10:27:01
我同意它不是最好的选择但是如果你想要一个不结束的ID列表,那么你就可以解释这一点。 – Richard 2012-01-03 10:33:49
我想你可以让URL像'/ cameras/name = bob/paramX = 28 /'等。或者如果'='是一个特殊字符,那么只是其他一些选择的东西。在mvc3中使用查询字符串皱眉还是会这样做是更好的方式来做任何这样的urls?对不起,如果问题是愚蠢的,但我不使用MVC,并试图吸收像这样的知识:) – Chris 2012-01-03 10:40:49