2011-05-09 36 views
16

Aşağıdaki snippet'i enable Razor templating in my solution (ASP.NET MVC3 dışında) kullanıyorum. kolayca uygulama düzenleri mümkün mü?.NET Jiletli motor - Uygulama mizanpajları

Arkaplan bilgisi: Ben bu noktada değilim

(şablonlar compiledTemplateAssembly derlenmiş): Benim RazorTemplateBase sınıfı bir Layout özelliğine sahip hayal

var template = (RazorTemplateBase<TModel>) compiledTemplateAssembly. 
    CreateInstance("RazorSpace." + entry.TemplateName + "Template"); 
template.Model = model; 
template.Execute(); 
var output = template.Buffer.ToString(); 
template.Buffer.Clear(); 
return output; 

. Ama sonra? Html.Partial'un bir şablonu ayrıştırmak için kullanabileceğim bir yardımcı işlev olduğunu anlıyorum. Ama diğer Razor görünümlerini kabul etmek için bu yöntem çağrılarını renderBody() veya renderSection()'u nasıl ayrıştırabilirim?

+3

@casperOne: Düzenlemeyi takdir ediyorum, ancak bunun MVC3 ile ilgisi yok. Bu nedenle geri aldım, ancak diğer düzenlemeler (etiketler hariç) de geri alınır ... – Ropstah

+2

@Ropstah: Şimdi görüyorum (bağlantıyı takip etmedim). Soruyu bir şekilde belirtmeliyiz (örneğin "ASP.NET MVC3 dışındaki Razor şablonlama motorunu" ASP.NET MVC3 dışındaki "Razor şablonlama motorunu kullanarak" bağlantılı "olarak belirtin) ASP.NET MVC3'te olduğunu farzedelim.Lütfen kod biçimlendirmesini koruyun, şu anda temiz değil ve sorudan artacaktır .. – casperOne

+2

@Ropstah: Ben sadece ileri gittim ve yaptım.Günlük olarak açık olmalıyız .. – casperOne

cevap

6

Şu anda çok benzer bir şey üzerinde çalışıyorum. Nancy'ye dayanan bir ön uç şablonudur. Phil Haack tarafından Nancy's Razor uygulamasını genişlettim. Partials, Templated Helpers ve Layouts'un çalışmasını sağladım.

Düzeni oluşturmak için bir Düzen özelliğim var ve düzen içinde bir içerik yer tutucum var "{{content}}". Bu yüzden Layout özelliği ayarlanmışsa görünümü oluşturduğumda, düzeni oluşturup içerik yer tutucusunu değiştiriyorum.

Proje, Appia olarak adlandırılır. sample views'a bir göz atın.

İşte benim baseView implementation baseView uygulanıyor ve işte view engine code. MVC Razor uygulamasından çok şey ödünç alıyor ve ayrıca Nancy'ye özgü bazı şeyler var ama neler olduğunu anlamak çok zor olmamalı.

+0

İyi cevaplar Martin, oy verildi! –