Bir kullanıcı siteme geldiğinde, sorgu dizesinde template=foo
geçirilmiş olabilir. Bu değer doğrulanmakta ve Session
'da saklanmaktadır.MVC 3'te birden çok konuma .cshtml mi arıyorsunuz?
Dosyam düzeni şöyle görünür: Temelde
- Views/
- Templates/
- test1/
- Home
- Index.cshtml
- test2/
- Home
- List.cshtml
- Home/
- Index.cshtml
bir kullanıcı template=test1
ile Index
, ben Views/Templates/test1/Index.cshtml
kullanmak istiyorum isterse. template=test2
varsa, Views/Home/Index.cshtml
kullanmak istiyorum (çünkü /Views/Templates/test2/Home/Index.cshtml
mevcut değil). Ve eğer bir şablon geçmezse, o zaman doğrudan Views/Home
'a gitmelidir.
Genel olarak MVC ve .NET'e yeni yaşıyorum, bu yüzden bakmaya nereden başlayacağımı bilmiyorum. Görünüm motoru için MVC3 ve Razor kullanıyorum.
Emin değilim, ama ettirerek görünümü döndürmek için deneyin 'return View (string.Concat (Request.QueryString [ "template"], "/ Index")) –
Daha şık bir yaklaşım, Controller sınıfından türetilmek ve mümkünse "Görünüm" yöntemini geçersiz kılmaktır. –