2009-03-05 10 views
3

Bu ilgi çekiciyi ASP.NET MVC'de not ediyorum:Değişken sayıda MVC yolunu nasıl ele alıyorsunuz?

routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

{* pathInfo} 'yu bir rotaya eşlemek istiyorum.

Şunlar gibi:

routes.MapRoute(
    "area/{*pathInfo}", 
    "{controller}/{action}/{id}",parameters 
    new { controller = "Area", action = "Index", id = ??? } 
); 

fakat nasıl etkilenirim "foo/bar/rab/oof" ifadesinden mydomain.com/area/foo/bar/rab/oof? Tüm biti bir ip olarak ya da bir koleksiyon olarak geçirmemek benim için iyi olur.

Teşekkürler!

cevap

4

Hangi MVC sürümünü kullanıyorsunuz? Rota adı MCV Beta'da hatırladığım ilk MapRoute() parametresi olmalıdır.

routes.MapRoute("AreaRoute", "Area/{*values}", new {controller = "Area", action = "Index"}  ); 

Ve Alan denetleyicisi: Neyse, yol yakalama hedef göz önüne alındığında, ben gibi s/t yapacağını hızlı cevap için

// "value" argument is the string after Area/, i.e. "foo/bar/rab/oof" in your example 
public string Index(string values) 
{ 
    ... 
} 
+0

teşekkür ederiz. RC2 kullanıyorum. Bunu test edip sana döneceğim. –

+0

Bu modelin, varsayılan yol kalıbından ÖNCE (başka bir yerde hazır, ancak bunu denerken tamamen unuttuğunuzdan ÖNCE) kaydedildiğinden emin olduktan sonra çözümünüz mükemmel bir şekilde çalıştı. Çok teşekkürler. –

+0

Yardım ettiğine sevindim. –