コード例 #1
0
        protected void btn_Save_Click(object sender, EventArgs e)
        {
            int          id  = WS.RequestInt("id");
            DataEntities ent = new DataEntities();
            TemplatePage tp  = new TemplatePage();

            try
            {
                tp = (from l in ent.TemplatePage where l.id == id select l).First();
            }
            catch { }
            tp.Content    = txt_Content.Text.ToSqlEnCode();
            tp.CreateWith = ddl_CreateWith.SelectedValue.ToInt32();
            tp.FileName   = txt_FileName.Text;
            tp.PageName   = txt_pageName.Text;
            tp.TempVar    = FCKeditor1.Text;

            if (tp.id <= 0)
            {
                ent.AddToTemplatePage(tp);
            }
            ent.SaveChanges();

            ent.Dispose();
            CreatePage.CreatePages(tp);

            Js.AlertAndChangUrl("保存成功!", "PageTemplateList.aspx");
        }
コード例 #2
0
        public string Case_List(HttpContext context)
        {
            TemplatePage page = Cms.Plugins.GetPage <Main>("admin/case_list.html");

            page.AddVariable("page", new PageVariable());
            return(page.ToString());
        }
コード例 #3
0
 public override void OnInitTemplatePage(EventArgs e)
 {
     if (!Author.ExistsPassedAuthor(BasePage.RequestString("authorname")))
     {
         TemplatePage.WriteErrMsg("您要查看的作者不存在!", SiteConfig.SiteInfo.VirtualPath + "Default.aspx");
     }
 }
コード例 #4
0
ファイル: ManageHandle.cs プロジェクト: w1146869587/devfw
        public string BasicSetting(HttpContext context)
        {
            PluginPackAttribute attr = this._plugin.GetAttribute();
            TemplatePage        page = this._app.GetPage(this._plugin, "mg/basic_setting.html");

            string url = String.Format("http://{0}/{1}.sh.aspx/serve",
                                       context.Request.Url.Host, attr.WorkIndent);
            string token = attr.Settings["Weixin_Token"] ??
                           String.Empty.RandomLetters(6);
            string appId              = attr.Settings["Weixin_AppId"] ?? "";
            string appSecret          = attr.Settings["Weixin_AppSecret"] ?? "";
            string appEncodeString    = attr.Settings["Weixin_AppEncodeString"] ?? "";
            string wlc                = attr.Settings["Weixin_WelcomeMessage"] ?? "";
            string enterMessage       = attr.Settings["Weixin_EnterMessage"] ?? "";
            string defaultRspMesssage = attr.Settings["Weixin_DefaultResponseMessage"] ?? "";

            page.AddVariable("data", new
            {
                url               = url,
                token             = token,
                appId             = appId,
                appSecret         = appSecret,
                aes               = appEncodeString,
                welcomeMessage    = wlc,
                enterMessage      = enterMessage,
                defaultRspMessage = defaultRspMesssage,
            });
            return(page.ToString());
        }
コード例 #5
0
        /// <summary>
        /// 呈现内容,默认不压缩
        /// </summary>
        /// <param name="content"></param>
        /// <param name="data"></param>
        /// <param name="compress"></param>
        /// <returns></returns>
        public static string Render(string content, object data, bool compress)
        {
            TemplatePage page = new TemplatePage(null, data);

            page.TemplateContent = content;
            return(page.ToString());
        }
コード例 #6
0
        /// <summary>
        /// Recursive method builds website master pages and pages.
        /// </summary>
        /// <param name="tenantId">Identifies website being built.</param>
        /// <param name="page">Used to store identifier of page that will be created.</param>
        /// <param name="templatePage">Template page.</param>
        /// <param name="templateElements">Maintains dictionary of template elements and their corresponding master element copies.</param>
        /// <param name="navigationPages">List of pages that should be shown on site navigation.</param>
        /// <param name="unitOfWork">Unit of work.</param>
        private void BuildWebsite(long tenantId, Page page, TemplatePage templatePage, Dictionary <ElementKeyValue, ElementKeyValue> templateElements, List <Page> navigationPages, IUnitOfWork unitOfWork)
        {
            // Get master page from template page
            MasterPage masterPage = GetMasterPageFromTemplatePage(tenantId, page, templatePage, templateElements, unitOfWork);

            // Create master page
            long masterPageId = _masterPageRepository.Create(masterPage, unitOfWork);

            // We do not create page instances of administration master pages - these are created on the fly as needed
            if (!masterPage.Administration)
            {
                // Create page based on master page
                page.PageId = _pageService.Create(tenantId, page.ParentPageId, masterPageId, null, unitOfWork);
                page.Name   = masterPage.PageName;
                if (templatePage.ShowOnNavigation)
                {
                    navigationPages.Add(page);
                }
            }

            // Recursively create child pages
            foreach (TemplatePage childTemplatePage in templatePage.ChildTemplatePages)
            {
                Page childPage = new Page {
                    ParentPageId = page.PageId, ParentPage = page, TenantId = tenantId
                };
                BuildWebsite(tenantId, childPage, childTemplatePage, templateElements, navigationPages, unitOfWork);
            }
        }
コード例 #7
0
 private void CheckIsAuthenticated()
 {
     if (!PEContext.Current.User.Identity.IsAuthenticated)
     {
         TemplatePage.WriteErrMsg("该页需要登录才能查看!", "User/Login.aspx");
     }
 }
コード例 #8
0
        public override void OnInitTemplateInfo(EventArgs e)
        {
            string sourceName = BasePage.RequestString("copyfrom");

            if (!Source.ExistsPassedSource(sourceName))
            {
                TemplatePage.WriteErrMsg("指定的来源不存在!");
            }
            string dynamicConfigTemplatePath = TemplatePage.GetDynamicConfigTemplatePath(Path.GetFileNameWithoutExtension(this.Page.Request.FilePath));
            NameValueCollection values       = new NameValueCollection();

            values.Add("copyfrom", DataSecurity.FilterBadChar(sourceName));
            if (!string.IsNullOrEmpty(dynamicConfigTemplatePath))
            {
                TemplateInfo info = new TemplateInfo();
                info.QueryList       = values;
                info.PageName        = TemplatePage.RebuildPageName(base.Request.Url.LocalPath, base.Request.QueryString);
                info.TemplateContent = Template.GetTemplateContent(dynamicConfigTemplatePath);
                info.RootPath        = HttpContext.Current.Request.PhysicalApplicationPath;
                info.CurrentPage     = DataConverter.CLng(base.Request.QueryString["page"], 1);
                info.PageType        = 1;
                base.TemplateInfo    = info;
            }
            else
            {
                TemplatePage.WriteErrMsg("您查看的来源未设置模板!", SiteConfig.SiteInfo.VirtualPath + "Default.aspx");
            }
        }
コード例 #9
0
        private static void AddBoxForAcroField(TemplatePage page, PdfPage pdfPage, PdfAcroField field, int fieldNumber)
        {
            if (!field.Elements.ContainsKey("/Rect"))
            {
                return;
            }
            var rect = field.Elements["/Rect"] as PdfArray; // or PdfRectangle?

            if (rect is null)
            {
                return;
            }

            var name = $"Pdf field {fieldNumber}";

            if (field.Elements.ContainsKey("/TU"))
            {
                if (field.Elements["/TU"] is PdfString description &&
                    !string.IsNullOrWhiteSpace(description.Value))
                {
                    name = Strings.CleanKeyName(description.Value.ReplaceAsciiCompatible());
                }
            }

            AddTemplateBox(page, pdfPage, rect, name !);
        }
コード例 #10
0
        public void Inject(TemplatePage page)
        {
            if (page == null)
            {
                throw new ArgumentNullException(nameof(page));
            }

            PropertyInfo[] properties = page.GetType().GetRuntimeProperties()
                                        .Where(p =>
            {
                return
                (p.IsDefined(typeof(RazorInjectAttribute)) &&
                 p.GetIndexParameters().Length == 0 &&
                 !p.SetMethod.IsStatic);
            }).ToArray();

            foreach (var property in properties)
            {
                Type   memberType = property.PropertyType;
                object instance   = services.GetRequiredService(memberType);

                FastPropertySetter setter = _propertyCache.GetOrAdd(property, new FastPropertySetter(property));
                setter.SetValue(page, instance);
            }
        }
コード例 #11
0
ファイル: ManageHandle.cs プロジェクト: w1146869587/devfw
        public string EditMenu(HttpContext context)
        {
            int    pi = 0;
            int    si = -1;
            string mi = context.Request["mi"];

            if (mi.Contains("-"))
            {
                string[] arr = mi.Split('-');
                pi = int.Parse(arr[0]) - 1;
                si = int.Parse(arr[1]) - 1;
            }
            else
            {
                pi = int.Parse(mi) - 1;
            }

            TemplatePage page       = this._app.GetPage(this._plugin, "mg/menu_edit.html");
            String       entityJson = JsonConvert.SerializeObject(WeixinHelper.GetMenuNode(pi, si));

            page.AddVariable("entity", entityJson);
            page.AddVariable("pi", pi);
            page.AddVariable("si", si);
            return(page.ToString());
        }
コード例 #12
0
        public void TestCompileFunction()
        {
            var            temp = @"
$lang(home) 
$navigator()
${archive.data(视频)}
     <div>
              $categories('prod\,uct',{
                    <div class=""col-md-3 col-lg-2 col-sm-4"">
                        {name}
                    </div>
        }) </div>
";
            IDataContainer dc   = new NormalDataContainer();
            TemplatePage   tp   = new TemplatePage(dc);

            tp.TemplateHandleObject = new TemplateMock();
            tp.OnPreInit           += TemplateMock.CompliedTemplate;
            tp.OnBeforeCompile     += (TemplatePage page, ref String content) =>
            {
                var pageArchive = new PageArchive(new ArchiveDto());
                page.AddVariable("archive", pageArchive);
            };
            tp.SetTemplateContent(temp);
            var content = tp.Compile();

            Console.WriteLine(content);
        }
コード例 #13
0
        /// <summary>
        /// 基类事件方法  初始模板信息
        /// </summary>
        /// <param name="e"></param>
        public override void OnInitTemplateInfo(EventArgs e)
        {
            //创建首页页节点对象
            NodeInfo cacheNodeById = Nodes.GetCacheNodeById(-2);

            if (cacheNodeById.IsCreateListPage)
            {///将正斜杠 (/) 追加到虚拟路径的末尾(如果尚不存在正斜杠)
                BasePage.ResponseRedirect(VirtualPathUtility.AppendTrailingSlash(base.Request.ApplicationPath) + cacheNodeById.ListHtmlPageName("0"));
            }
            //创建模板对象
            TemplateInfo info2 = new TemplateInfo();

            info2.QueryList = base.Request.QueryString;
            info2.PageName  = TemplatePage.RebuildPageName(base.Request.Url.LocalPath, base.Request.QueryString);
            if (cacheNodeById.IsNull)
            {
                TemplatePage.WriteErrMsg("首页节点未找到");
            }
            info2.TemplateContent = Template.GetTemplateContent(cacheNodeById.DefaultTemplateFile);
            info2.RootPath        = HttpContext.Current.Request.PhysicalApplicationPath;
            info2.CurrentPage     = DataConverter.CLng(base.Request.QueryString["page"], 1);
            info2.IsDynamicPage   = true;
            //设置其模板信息
            base.TemplateInfo = info2;
        }
コード例 #14
0
        /// <summary>
        /// 单独页面
        /// </summary>
        /// <param name="pagename"></param>
        protected void Page(string pagename)
        {
            TemplatePage tp = TemplatePageView.Find(string.Format("PageName=N'{0}'", pagename));

            Response.Clear();
            Response.Write(GetStatisPage(tp.Id));
        }
コード例 #15
0
        public string GenerateMessageBody(string template, object model)
        {
            string result = null;

            try
            {
                var engine = EngineFactory.CreateEmbedded(model.GetType());
                //result = engine.ParseString(template, model);

                ITemplateSource   source    = new LoadedTemplateSource(template);
                ModelTypeInfo     modelInfo = new ModelTypeInfo(model.GetType());
                CompilationResult compiled  = engine.Core.CompileSource(source, modelInfo);
                compiled.EnsureSuccessful();

                TemplatePage page = engine.Activate(compiled.CompiledType);
                page.PageContext = new PageContext {
                    ModelTypeInfo = modelInfo
                };

                result = engine.RunTemplate(page, model);
            }
            catch (TemplateCompilationException tex)
            {
                throw new MessageGenerationException($"Error generating message from template! {tex.CompilationErrors.FirstOrDefault()}", tex);
            }
            catch (Exception ex)
            {
                throw new MessageGenerationException("Unexpected error generating message from template!", ex);
            }

            return(result);
        }
コード例 #16
0
        /// <summary>
        /// 返回模板内容
        /// </summary>
        /// <param name="templateId"></param>
        /// <param name="pageFunc">对模板处理前操作,可以添加数据对象</param>
        public static string Require(string templateId, TemplatePageHandler pageFunc)
        {
            using (CmsTemplates tpl = new CmsTemplates())
            {
                TemplatePage page = new TemplatePage(templateId);
                //if (data != null)
                //{
                //   page.AddDataObject(data);
                //}
                page.TemplateHandleObject = tpl;
                page.OnPreInit           += PreHandler;
                page.OnPreRender         += CompliedTemplate;

                //注册扩展的模板解析事件
                if (OnPreRender != null)
                {
                    page.OnPreRender += OnPreRender;
                }

                if (pageFunc != null)
                {
                    pageFunc(page);
                }

                return(page.ToString());
            }
        }
コード例 #17
0
        public string Export_Import(HttpContext context)
        {
            TemplatePage page = Cms.Plugins.GetPage <Main>("admin/export_import.html");

            page.AddVariable("page", new PageVariable());
            page.AddVariable("case", new { json = new object() });
            return(page.ToString());
        }
コード例 #18
0
        public string Export_Setup(HttpContext context)
        {
            TemplatePage page = Cms.Plugins.GetPage <Main>("admin/export_setup.html");

            page.AddVariable("page", new PageVariable());
            page.AddVariable("export", new { setup = ExportHandle.Setup(context.Request["portal"]) });
            return(page.ToString());
        }
コード例 #19
0
 private static string RepeatPath(TemplatePage page)
 {
     if (page.RepeatMode.DataPath == null)
     {
         return("<invalid reference>");
     }
     return(string.Join(".", page.RepeatMode.DataPath));
 }
コード例 #20
0
ファイル: ManageHandle.cs プロジェクト: w1146869587/devfw
        public string Menu(HttpContext context)
        {
            TemplatePage page     = this._app.GetPage(this._plugin, "mg/menu.html");
            String       menuJson = JsonConvert.SerializeObject(WeixinHelper.GetMenuTreeNode());

            page.AddVariable("menu", menuJson);
            return(page.ToString());
        }
コード例 #21
0
ファイル: ManageHandle.cs プロジェクト: w1146869587/devfw
        public string ArticleItems(HttpContext context)
        {
            string       resId = context.Request["res_id"];
            TemplatePage page  = this._app.GetPage(this._plugin, "mg/article_itemlist.html");

            page.AddVariable("resId", resId);
            return(page.ToCompressedString());
        }
コード例 #22
0
        public string Case_Gallery(HttpContext context)
        {
            int          caseId = int.Parse(context.Request["caseId"]);
            TemplatePage page   = Cms.Plugins.GetPage <Main>("admin/case_gallery.html");

            page.AddVariable("page", new PageVariable());
            page.AddVariable("case", new { Id = caseId });
            return(page.ToString());
        }
コード例 #23
0
        /// <summary>
        /// 单独页面
        /// </summary>
        /// <param name="pagename"></param>
        protected void Page(string pagename)
        {
            DataEntities ent = new DataEntities();
            TemplatePage tp  = (from l in ent.TemplatePage where l.PageName == pagename select l).FirstOrDefault();

            ent.Dispose();
            Response.Clear();
            Response.Write(GetStatisPage(tp.id));
        }
コード例 #24
0
ファイル: Pages.cs プロジェクト: jonnyry/FhirProfilePublisher
 public string GetPage(string title, string content, string version, DateTime dateGenerated)
 {
     return(TemplatePage
            .Replace("%PAGE_HEADER%", PageHeader)
            .Replace("%TITLE%", title + PageTitleSuffix)
            .Replace("%CONTENT%", content)
            .Replace("%VERSION%", version)
            .Replace("%DATE_GENERATED%", dateGenerated.ToString("dd-MMM-yyyy")));
 }
コード例 #25
0
 public static TemplatePage RegistEventHandlers(TemplatePage page)
 {
     using (CmsTemplates tpl = new CmsTemplates()){
         page.TemplateHandleObject = tpl;
         page.OnPreInit           += PreHandler;
         page.OnPreRender         += CompliedTemplate;
         return(page);
     }
 }
コード例 #26
0
ファイル: ManageHandle.cs プロジェクト: w1146869587/devfw
        public string CreateTextRes(HttpContext context)
        {
            TemplatePage page = this._app.GetPage(this._plugin, "mg/text_res.html");

            page.AddVariable("entity", "{Id:0}");
            page.AddVariable("content", "");

            return(page.ToString());
        }
コード例 #27
0
ファイル: test.cs プロジェクト: ReinhardHsu/devfw
 private void Main()
 {
     TemplatePage tp = new TemplatePage();
     tp.TemplateContent = "$m=item  KEY:${item.key} Note:${item.note}<br />${m.key}";
     tp.AddVariable("item", new {Key = "Key", Note = "Note"});
     var x = System.Web.HttpContext.Current.Items;
     string y = tp.ToString();
     // return y;
 }
コード例 #28
0
        private async Task <ViewBufferTextWriter> RenderPageAsync(
            TemplatePage page,
            PageContext context,
            bool invokeViewStarts)
        {
            var writer = context.Writer as ViewBufferTextWriter;

            if (writer == null)
            {
                Debug.Assert(_bufferScope != null);

                // If we get here, this is likely the top-level page (not a partial) - this means
                // that context.Writer is wrapping the output stream. We need to buffer, so create a buffered writer.
                ViewBuffer buffer = new ViewBuffer(_bufferScope, page.Path, ViewBuffer.ViewPageSize);
                writer = new ViewBufferTextWriter(buffer, context.Writer.Encoding, _htmlEncoder, context.Writer);
            }
            else
            {
                // This means we're writing something like a partial, where the output needs to be buffered.
                // Create a new buffer, but without the ability to flush.
                ViewBuffer buffer = new ViewBuffer(_bufferScope, page.Path, ViewBuffer.ViewPageSize);
                writer = new ViewBufferTextWriter(buffer, context.Writer.Encoding);
            }

            // The writer for the body is passed through the ViewContext, allowing things like HtmlHelpers
            // and ViewComponents to reference it.
            var oldWriter   = context.Writer;
            var oldFilePath = context.ExecutingFilePath;

            context.Writer            = writer;
            context.ExecutingFilePath = page.Path;

            try
            {
                //Apply page specific callbacks first
                ExecutePageCallbacks(page, context.PrerenderCallbacks);

                //Apply engine-global callbacks
                ExecutePageCallbacks(page, PreRenderCallbacks.ToList());

                if (invokeViewStarts)
                {
                    // Execute view starts using the same context + writer as the page to render.
                    await RenderViewStartsAsync(context);
                }

                await RenderPageCoreAsync(page, context);

                return(writer);
            }
            finally
            {
                context.Writer            = oldWriter;
                context.ExecutingFilePath = oldFilePath;
            }
        }
コード例 #29
0
ファイル: WebPluginApp.cs プロジェクト: zyuhua/devfw
        public TemplatePage GetTemplatePage(string filePath, PluginPackAttribute attr)
        {
            string pluginDirPath = attr.WorkSpace;


            string cacheId = String.Concat("plugin", "_tpl_", attr.WorkIndent, filePath);
            string html    = WebCtx.Current.Cache.Get(cacheId) as string;

            if (html == null)
            {
                //模板文件放在/plugins/com.spdepository/pages/下
                string tplFilePath = pluginDirPath + filePath;

                try
                {
                    using (TextReader tr = new StreamReader(tplFilePath))
                    {
                        html = tr.ReadToEnd();
                        tr.Dispose();
                    }

                    WebCtx.Current.Cache.Insert(cacheId, html, tplFilePath);
                }
                catch (Exception exc)
                {
                    throw new Exception(exc.Message + ", File:" + tplFilePath);
                }
            }

            TemplatePage tpl = new TemplatePage();

            tpl.TemplateContent = html;

            string pluginPath = this._pluginPath + attr.WorkIndent;

            tpl.AddVariable("os", new
            {
                version = FwCtx.Version.GetVersion(),
                domain  = WebCtx.Current.Domain,
                ppath   = pluginPath,
                fpath   = this._fpath,
                mjs     = this._shareJs,
                sjs     = this._shareJs,
                scss    = this._shareCss,
                mcss    = this._shareCss
            });

            tpl.AddVariable("plugin", new
            {
                path   = pluginPath,
                indent = attr.WorkIndent,
                name   = attr.Name
            });

            return(tpl);
        }
コード例 #30
0
ファイル: ManageHandle.cs プロジェクト: w1146869587/devfw
        public string CreateMenu(HttpContext context)
        {
            int          pi       = int.Parse(context.Request["pi"]) - 1;
            TemplatePage page     = this._app.GetPage(this._plugin, "mg/menu_create.html");
            String       menuJson = JsonConvert.SerializeObject(WeixinHelper.GetMenuTreeNode());

            page.AddVariable("menu", menuJson);
            page.AddVariable("pi", pi);
            return(page.ToString());
        }
コード例 #31
0
        private void Main()
        {
            TemplatePage tp = new TemplatePage();

            tp.TemplateContent = "$m=item  KEY:${item.key} Note:${item.note}<br />${m.key}";
            tp.AddVariable("item", new { Key = "Key", Note = "Note" });
            var    x = System.Web.HttpContext.Current.Items;
            string y = tp.ToString();
            // return y;
        }
コード例 #32
0
ファイル: CmsContext.cs プロジェクト: AntonWong/cms
        /// <summary>
        /// 显示400页面
        /// </summary>
        /// <returns></returns>
        public void RenderNotfound(string message, TemplatePageHandler handler)
        {
            Response.StatusCode = 404;

            string html = null;
            try
            {
                TemplatePage tpl = new TemplatePage(String.Format("/{0}/notfound", this.CurrentSite.Tpl));
                if (handler != null)
                {
                    handler(tpl);
                }
                tpl.Render();
                return;
            }
            catch
            {
                html = "File not found!";
            }

            Response.Write(html);
        }
コード例 #33
0
ファイル: MultLangPageUtility.cs プロジェクト: AntonWong/cms
        /// <summary>
        /// 保存到文件
        /// </summary>
        /// <param name="path"></param>
        /// <param name="templateID"></param>
        /// <param name="data"></param>
        public static void Save(string path, string templateID, object data)
        {
            TemplatePage page = new TemplatePage(templateID, data);
            page.OnPreRender += PreHandler;
            page.OnPreRender += Spc.Template.MultLangCmsTemplates.CompliedTemplate;

            //注册扩展的模板解析事件
            if (OnPreRender != null) page.OnPreRender += OnPreRender;

            page.SaveToFile(path);
        }
コード例 #34
0
ファイル: MultLangPageUtility.cs プロジェクト: AntonWong/cms
        /// <summary>
        /// 返回模板内容
        /// </summary>
        /// <param name="templateID"></param>
        /// <param name="data"></param>
        public static string Require(string templateID, object data)
        {
            TemplatePage page=new TemplatePage(templateID, data);
            page.TemplateHandleObject = new Spc.Template.MultLangCmsTemplates();
            page.OnPreInit += PreHandler;
            page.OnPreRender += Spc.Template.MultLangCmsTemplates.CompliedTemplate;

            //注册扩展的模板解析事件
            if (OnPreRender != null) page.OnPreRender += OnPreRender;

            return page.ToString() ;
        }
コード例 #35
0
ファイル: Data.Designer.cs プロジェクト: kuibono/KCMS2
 public void AddToTemplatePage(TemplatePage templatePage)
 {
     base.AddObject("TemplatePage", templatePage);
 }
コード例 #36
0
ファイル: Data.Designer.cs プロジェクト: kuibono/KCMS2
 public static TemplatePage CreateTemplatePage(int id)
 {
     TemplatePage templatePage = new TemplatePage();
     templatePage.id = id;
     return templatePage;
 }
コード例 #37
0
ファイル: PageUtility.cs プロジェクト: AntonWong/cms
        /// <summary>
        /// 返回模板内容
        /// </summary>
        /// <param name="templateId"></param>
        /// <param name="pageFunc">对模板处理前操作,可以添加数据对象</param>
        public static string Require(string templateId,TemplatePageHandler pageFunc)
        {
            using (CmsTemplates tpl = new CmsTemplates())
            {
                TemplatePage page = new TemplatePage(templateId);
                //if (data != null)
                //{
                //   page.AddDataObject(data);
                //}
                page.TemplateHandleObject = tpl;
                page.OnPreInit += PreHandler;
                page.OnPreRender += CompliedTemplate;

                //注册扩展的模板解析事件
                if (OnPreRender != null) page.OnPreRender += OnPreRender;

                if (pageFunc != null) pageFunc(page);

                return page.ToString();
            }
        }
コード例 #38
0
ファイル: PageUtility.cs プロジェクト: AntonWong/cms
 public static TemplatePage RegistEventHandlers(TemplatePage page)
 {
 	using (CmsTemplates tpl = new CmsTemplates()){
 	 	page.TemplateHandleObject = tpl;
         page.OnPreInit += PreHandler;
         page.OnPreRender += CompliedTemplate;
         return page;
 	}
 }
コード例 #39
0
ファイル: PageUtility.cs プロジェクト: AntonWong/cms
 /// <summary>
 /// 呈现内容,默认不压缩
 /// </summary>
 /// <param name="content"></param>
 /// <param name="data"></param>
 /// <param name="compress"></param>
 /// <returns></returns>
 public static string Render(string content, object data,bool compress)
 {
     TemplatePage page = new TemplatePage(null,data);
     page.TemplateContent = content;
     return page.ToString();
 }
コード例 #40
0
ファイル: PageUtility.cs プロジェクト: AntonWong/cms
        /// <summary>
        /// 保存到文件
        /// </summary>
        /// <param name="path"></param>
        /// <param name="templateId"></param>
        /// <param name="data"></param>
        public static void Save(string path, string templateId, object data,out string html)
        {
            TemplatePage page = new TemplatePage(templateId, data);
            page.OnPreRender += PreHandler;
            page.OnPreRender += CompliedTemplate;

            //注册扩展的模板解析事件
            if (OnPreRender != null) page.OnPreRender += OnPreRender;

            page.SaveToFile(path,out html);
        }