2013-07-03 19 views
5

Planım, bazı web arabirimleri sağlayabilecek dinamik olarak yüklenmiş birkaç derlemeye sahip olmaktır.ApiControllers and Razor views

Bu toplulukların içine birkaç WebApi denetleyicisi koymaya karar verdim ve bu denetleyicilerin bazıları, inline Razor şablonlarını (özel MediaTypeFormatter aracılığıyla) kullanarak html görünümleri sunabilir.

var myModel = new {Name:"World"}; 
var template = "Hello, @Model.Name!"; 
return Razor.Parse(template, myModel); 

Ama var sorun G/kullanmak benim meclisleri içinde bulunan dış Jilet görünümleri (.cshtml dosyaları) kayıt anlamaya olamaz: O satır içi Razor ile çok iyi çalışıyor bugüne kadar şablonları.

denedim şimdiye kadar şu:

var template = Razor.Resolve("MyView.cshtml", myModel); 
return template.Run(new ExecuteContext()); 

Ama template değişken null olduğunu MyView.cshtml, bulunamayan kayıtlı değil veya doğru başvurulan olamayacağını benim tahminim.

+3

Oluşturma eylemini oluşturdunuz: Visual Studio'daki 'Gömülü Kaynak' cshtml dosyalarınız için mi? 'Razor.SetTemplateService' şablonlarınızı doğru meclislerden çözen bir 'TemplateService' ile yapılandırdınız mı? – nemesv

+0

@nemesv, hayır yok. Şablonlarımı çözen bir "TemplateService" in nasıl uygulanacağını bana doğru yönde yönlendirir misiniz? Teşekkürler. –

+2

Bunu nasıl yaparım https://github.com/darrelmiller/HypermediaApiSite/blob/master/HypermediaApiContent/Tools/EmbeddedResolver.cs –

cevap