public override void WriteToResponse(HttpContextBase context) { var path = context.Server.MapPath(string.Format("/Views/{0}.haml", templateName)); var engine = new TemplateEngine(); var compiledTemplate = engine.Compile(path, typeof(NSinatraNHamlView)); var instance = (NSinatraNHamlView)compiledTemplate.CreateInstance(); instance.ViewData = viewData; instance.Render(context.Response.Output); }
public HamlTemplateFactory(string baseTemplatePath) { var templateOptions = new TemplateOptions(); templateOptions.EncodeHtml = false; templateOptions.AutoRecompile = true; templateOptions.IndentSize = 2; templateOptions.TemplateBaseType = typeof(HamlTemplate); var fileTemplateResolver = new FileTemplateContentProvider(); fileTemplateResolver.PathSources = new [] { baseTemplatePath }.ToList(); this.templateEngine = new TemplateEngine(templateOptions) { TemplateContentProvider = fileTemplateResolver }; }
public TemplateResponse(string viewPath) { _viewPath = viewPath; _templateEngine = new TemplateEngine(); // TODO: Probably going to need this at some point; figure out why :-P //_templateEngine.Options.AddUsing("System.Web"); //_templateEngine.Options.AddUsing("System.Web.Routing"); //_templateEngine.Options.AddUsing("NHaml"); //foreach (var referencedAssembly in typeof(Resource).Assembly.GetReferencedAssemblies()) //{ // _templateEngine.Options.AddReference(Assembly.Load(referencedAssembly).Location); //} }