示例#1
0
        public static string Generate <T>(string temp, T model)
        {
            //var config = new TemplateServiceConfiguration();
            //config.ReferenceResolver = new ReferenceResolver();
            //var service = RazorEngineService.Create(config);

            return(RazorEngineServiceExtensions.RunCompile(
                       Engine.Razor,
                       temp,
                       App.IdWorker.NextStringId(),
                       typeof(T),
                       model,
                       null
                       )
                   .Replace("&quot;", "\"")
                   .Replace("<c>", "")
                   .Replace("</c>", ""));
        }
        protected virtual void RenderModule(HtmlTextWriter writer, object jsonData)
        {
            string str  = "TemplateCacheKey-" + this.ID;
            string key  = "TemplateFileCacheKey-" + this.ID;
            string str3 = "";
            string str4 = HttpContext.Current.Cache[key] as string;

            if (string.IsNullOrEmpty(str4) || (str4.Length == 0))
            {
                string path = HttpContext.Current.Request.MapPath(this.TemplateFile);
                str4 = File.ReadAllText(path);
                str3 = RazorEngineServiceExtensions.RunCompile(Engine.Razor, new LoadedTemplateSource(str4, null), str, null, jsonData, null);
                HttpContext.Current.Cache.Insert(key, str4, new CacheDependency(path), DateTime.MaxValue, TimeSpan.Zero, CacheItemPriority.AboveNormal, null);
                writer.Write(str3);
            }
            else
            {
                str3 = RazorEngineServiceExtensions.IsTemplateCached(Engine.Razor, str, null) ? RazorEngineServiceExtensions.Run(Engine.Razor, str, null, jsonData, null) : RazorEngineServiceExtensions.RunCompile(Engine.Razor, new LoadedTemplateSource(str4, null), str, null, jsonData, null);
                writer.Write(str3);
            }
        }