Пример #1
0
        public override string RenderContent()
        {
            TagBuilder tagHeader = null; //panels-heading
            TagBuilder tagBody   = null; //panels-body
            TagBuilder tagFooter = null; //panels-footer

            if (!HeaderHTML.IsNullOrEmpty() || (HeaderButtons != null && HeaderButtons.Count > 0))
            {
                tagHeader = new TagBuilder("div");
                tagHeader.Attributes["id"]    = Id + "-heading";
                tagHeader.Attributes["class"] = "panels-heading";
                if (!HeaderHTML.IsNullOrEmpty())
                {
                    tagHeader.AppendInnerHtml(HeaderHTML);
                }
                if (HeaderButtons != null && HeaderButtons.Count > 0)
                {
                    TagBuilder btnDiv = new TagBuilder("div");
                    btnDiv.Attributes["id"]    = Id + "-heading-btn";
                    btnDiv.Attributes["class"] = "btn-panels-heading";
                    HeaderButtons = HeaderButtons.OrderBy(c => c.Rank).ToList();
                    foreach (Link button in HeaderButtons)
                    {
                        button.CssClass = "btn btn-xs btn-default";
                        btnDiv.AppendInnerHtml(button.Render());
                    }
                    tagHeader.AppendInnerHtml(btnDiv.ToString());
                }
            }
            if (Content != null)
            {
                tagBody = new TagBuilder("div");
                tagBody.Attributes["id"]    = Id + "-body";
                tagBody.Attributes["class"] = "panels-body";
                Content = Content.OrderBy(c => c.Rank).ToList();
                foreach (PageControlBase control in Content)
                {
                    tagBody.AppendInnerHtml(control.Render());
                }
            }
            if (!FooterHTML.IsNullOrWhiteSpace())
            {
                tagFooter = new TagBuilder("div");
                tagFooter.Attributes["id"]    = Id + "-footer";
                tagFooter.Attributes["class"] = "panels-footer";
                tagFooter.AppendInnerHtml(FooterHTML);
            }
            TagBuilder[] tagArray = { tagHeader, tagBody, tagFooter };
            string       result   = "";

            foreach (TagBuilder tag in tagArray)
            {
                if (tag != null)
                {
                    result += tag.ToString();
                }
            }
            return(result);
        }
Пример #2
0
        /// <summary>
        /// 呈现HTML
        /// </summary>
        /// <returns></returns>
        public string Render()
        {
            string     documentType = "<!DOCTYPE html>\n";
            TagBuilder html         = new TagBuilder("html");

            html.AppendInnerHtml(RenderHeader());
            html.AppendInnerHtml(RenderBody());
            return(documentType + html.ToString());
        }
Пример #3
0
 /// <summary>
 /// 注册脚本语句块
 /// </summary>
 /// <param name="key"></param>
 /// <param name="scriptContent"></param>
 public void RegisterScriptBlock(string key, string scriptContent)
 {
     key = "ScriptContent-{0}".FormatTo(key);
     if (!keys.Contains(key))
     {
         keys.Add(key);
         script.AppendInnerHtml(scriptContent);
     }
 }
Пример #4
0
        private string RenderBody()
        {
            TagBuilder body = new TagBuilder("body");

            body.AddCssClass(CssClass);
            body.AppendInnerHtml(RenderControls());
            body.AppendInnerHtml(System.Web.Optimization.Scripts.Render("~/script/common.js").ToHtmlString());
            body.AppendInnerHtml(System.Web.Optimization.Scripts.Render("~/script/widget.js").ToHtmlString());
            foreach (var jsFile in scripts)
            {
                body.AppendInnerHtml(jsFile.ToString());
            }
            script.AppendInnerHtml("$(function(){\n" + startUpScript.ToString() + "\n});");
            body.AppendInnerHtml(script.ToString());
            return(body.ToString());
        }
Пример #5
0
        private static void Test3()
        {
            string documentType = "<!DOCTYPE html>\n";

            TagBuilder html   = new TagBuilder("html");
            TagBuilder header = new TagBuilder("head");
            TagBuilder title  = new TagBuilder("title");
            TagBuilder body   = new TagBuilder("body");

            header.AppendInnerHtml(title.ToString());
            body.AppendInnerHtml("<h3>Test</h3>");

            html.AppendInnerHtml(header.ToString());
            html.AppendInnerHtml(body.ToString());

            Console.WriteLine(documentType + html.ToString());
        }
Пример #6
0
 /// <summary>
 /// 注册样式语句块
 /// </summary>
 /// <param name="key"></param>
 /// <param name="styleContent"></param>
 public void RegisterStyleContent(string key, string styleContent)
 {
     key = "CssContent-{0}".FormatTo(key);
     if (!keys.Contains(key))
     {
         keys.Add(key);
         style.AppendInnerHtml(styleContent);
     }
 }
Пример #7
0
        private string RenderHeader()
        {
            TagBuilder header = new TagBuilder("head");
            TagBuilder title  = new TagBuilder("title");

            title.SetInnerText(Title);
            foreach (var key in metas.Keys)
            {
                header.AppendInnerHtml(metas[key].ToString(TagRenderMode.SelfClosing));
            }
            header.AppendInnerHtml(title.ToString());
            header.AppendInnerHtml(System.Web.Optimization.Styles.Render("~/style/common.css").ToHtmlString());
            foreach (var cssFile in links)
            {
                header.AppendInnerHtml(cssFile.ToString(TagRenderMode.SelfClosing));
            }
            if (!style.InnerHtml.IsNullOrEmpty())
            {
                header.InnerHtml += style.ToString();
            }
            return(header.ToString());
        }