2014-06-29 21 views
6

Yeni MVC Öznitelik yönlendirme ile, tek bir ActionResult için birden çok Route özniteliği atayabileceğinizi biliyorum, ancak RoutePrefix düzeyinde aynı işlemi yapmanın bir yolunu arıyorum. Her eylem, üç yöntemle yapılan erişilebilir olmalıdır, bir denetleyici var:MVC Öznitelik yönlendirme kullanarak denetleyici başına birden çok RotaPrefix'i?

/Games/{Title}/Characters/{Route} /Books/{Title}/Characters/{Route} /Cinema/{Title}/Characters/{Route}

üç ayrı RoutePrefix özelliklerini koyarak çalıştım ama hata Deuplace RoutePrefix attribute olsun. Virgülle ayrılmış bir liste kullanmaya çalışırsam, Best override method for does not contain a constructor that takes 3 arguments alırım.

RoutePrefix, denetleyicim için istediğim üç yolu alması için ayarlanabilir mi?

cevap

13

Bir grup testten sonra, denetleyici düzeyine 3 Route öznitelikleri ekleyebileceğimi ve istediğim gibi çalıştığımı öğrendim.

Düzenleme: buldum bunu yapmak için daha iyi bir yolu regex maç yöntemini

[RoutePrefix("{Type:regex(Games|Cinema|Books)}/{SectionRoute}/Character/")]

+0

vali kullanıyordum ... günümü yaptı ... – microchip78

+0

bir regex olmadan yapacağını nasıl? Birden fazla özellik satırı ekleyebilir miyim? '[RoutePrefix (" prefix1 ")] [RoutePrefix (" prefix2 ")]' – Zapnologica

+1

@Zapnologica Bunu yaptığımdan beri bir süre geçti, ama doğru hatırlamıyorsam ya siz de bu örneğiniz gibi yapın ya da siz onları virgül gibi ayırın '[RoutePrefix ("prefix1"), RoutePrefix ("prefix2")] 'her ikisini de deneyin ve ne olduğunu görün – Matthew

İlgili konular