Пример #1
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());
            }
        }
Пример #2
0
        /// <summary>
        /// 返回模板内容
        /// </summary>
        /// <param name="templateName"></param>
        /// <param name="pageFunc">对模板处理前操作,可以添加数据对象</param>
        public static string Require(string templateName, TemplatePageHandler pageFunc)
        {
            var page = Cms.Template.GetTemplate(templateName);

            RegisterEventHandlers(page);
            // 注册扩展的模板解析事件
            if (_onPreRender != null)
            {
                page.OnPreRender += _onPreRender;
            }
            pageFunc?.Invoke(page);
            return(page.Compile());
        }
Пример #3
0
        /// <summary>
        /// 显示400页面
        /// </summary>
        /// <returns></returns>
        public void RenderNotfound(string message, TemplatePageHandler handler)
        {
            string html = null;

            try
            {
                var pageName = $"/{CurrentSite.Tpl}/not_found";
                var tpl      = Cms.Template.GetTemplate(pageName);
                handler?.Invoke(tpl);
                html = tpl.Compile();
            }
            catch
            {
                html = "File not found!";
            }
            this._context.Response.StatusCode(404);
            this._context.Response.WriteAsync(html);
        }
Пример #4
0
        /// <summary>
        /// 返回模板内容
        /// </summary>
        /// <param name="templateId"></param>
        /// <param name="pageFunc">对模板处理前操作,可以添加数据对象</param>
        public static string Require(string templateId, TemplatePageHandler pageFunc)
        {
            var page    = Cms.Template.GetTemplate(templateId);
            var context = HttpHosting.Context;

            using (var tpl = new CmsTemplateImpl(context))
            {
                page.TemplateHandleObject = tpl;
                page.OnPreInit           += PreHandler;
                page.OnPreRender         += CompliedTemplate;
            }
            //注册扩展的模板解析事件
            if (OnPreRender != null)
            {
                page.OnPreRender += OnPreRender;
            }
            pageFunc?.Invoke(page);
            return(page.ToString());
        }
Пример #5
0
        /// <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);
        }
Пример #6
0
        /// <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);
        }
Пример #7
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();
            }
        }