RazorEngine, Motorun kendisinde kullanılmak üzere kendi türlerinizin türetilmesiyle tasarlanmıştır.
İlk Kendi Yardımcılar oluşturun:
public class RazorHtmlHelper
{
public IEncodedString Partial(string viewName)
{
ITemplate template = RazorEngine.Razor.Resolve(viewName);
ExecuteContext ec = new ExecuteContext();
RawString result = new RawString(template.Run(ec));
return result;
}
}
public class RazorUrlHelper
{
public string Encode(string url)
{
return System.Uri.EscapeUriString(url);
}
}
Sonraki Kendi Şablon oluşturun: Ayrıştırma sizin TemplateServiceConfiguration ayarlamadan önce
public class RazorTemplateBase<T> : TemplateBase<T>
{
private RazorUrlHelper _urlHelper = new RazorUrlHelper();
private RazorHtmlHelper _htmlHelper = new RazorHtmlHelper();
public RazorUrlHelper Url
{
get
{
return this._urlHelper;
}
}
public RazorHtmlHelper Html
{
get
{
return this._htmlHelper;
}
}
}
: Artık
Razor.SetTemplateService(new TemplateService(
new TemplateServiceConfiguration()
{
BaseTemplateType = typeof(RazorTemplateBase<>)
};
));
result = RazorEngine.Razor.Parse(templateText, model);
RazorEngine @Html.Partial()
ve @Url.Encode()
sahiptir görünümler mevcuttur.
[Web Sayfaları Jilet] 'i kullanıyor musunuz (http://www.asp.net/web-pages/overview/getting-started/aspnet-web-pages- (jilet) -faq) veya sadece [RazorEngine] (http://razorengine.codeplex.com/)? –
Github deposundan saf RazorEngine kullanıyorum (ikinci bağlantı) – Richard