2012-01-03 204 views
0

我使用asp.net MVC3和我想寫一條沒有盡頭的路線.. 我的意思是類似的東西:URL路由 - 無限網址

www.site.com/Cameras/{id}={string}/{id}={string}/{id}={string}/{id}={string}..... 

其中ID代表一個過濾器ID和字符串代表過濾器的值.. 我有很多類型的過濾器,並在未來,我希望能夠增加更多的沒有任何關係.. 應該如何這種途徑應該看?我該如何開始處理這些參數?

回答

1

你需要做的是寫一個包羅萬象的路線,然後把它解釋是這樣的:

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

+0

我不確定這個問題是否確實意味着這個問題,但是如果你沒有id1或者你只有id6或者什麼東西?我自己並沒有真正使用過任何這種類型的東西,但是如果你想添加一些參數,你就會想要做的事情 - 把它們也刪除... – Chris 2012-01-03 10:27:01

+0

我同意它不是最好的選擇但是如果你想要一個不結束的ID列表,那麼你就可以解釋這一點。 – Richard 2012-01-03 10:33:49

+0

我想你可以讓URL像'/ cameras/name = bob/paramX = 28 /'等。或者如果'='是一個特殊字符,那麼只是其他一些選擇的東西。在mvc3中使用查詢字符串皺眉還是會這樣做是更好的方式來做任何這樣的urls?對不起,如果問題是愚蠢的,但我不使用MVC,並試圖吸收像這樣的知識:) – Chris 2012-01-03 10:40:49