2009-10-12 20 views
5

kullanarak eğik çizgiler: ... http://mydomain.com/Box/Categ1/Categ2/Categ3/.../CategN/id1,id2,id3,...,idNBöyle bir URL kullanmak gerekir normal ifade

Sonra yeni bir rotayı bu şekilde oluşturmaya çalıştık

routes.MapRoute(
    "Box", 
    "Box/{data}", 
    new { controller = "Box", action = "Index"}, 
    new { data = @"([a-zA-Z0-9-,]+/?)+" } 
); 

Ancak işe yaramıyor. "/" (Eğik çizgi) yerine herhangi bir char kullanırsam, iyi çalışır. Eğik çizgi kullanmak mümkün mü? Bunun gibi URL’yi görmek isterim.

cevap

11

Veri değişkenini Kutudan sonra gelen her şeye ayarlamak isterseniz, tümünü yakala parametresini kullanın.

routes.MapRoute(
    "Box", 
    "Box/{*data}", 
    new { controller = "Box", action = "Index"} 
); 
+0

Gerçekten ... Teşekkürler adamım! – Wellington

+0

Sorun değil. Varsayılan olarak, asp.net mvc yönlendirme altyapısı her şeyi ayırıcı olarak bölü çizgisi kullanarak ayırır ... bu yüzden normal ifadelerde nasıl çalışacağından emin değilim, ama muhtemelen iyi değil;) – womp