zoukankan      html  css  js  c++  java
  • Kooboo CMS

    首先我们找到这个类。

    这个类有如下的方法:

     #region Title & meta
            [Obsolete("Use HtmlTitle")]
            public IHtmlString Title()
            {
                return HtmlTitle();
            }
            /// <summary>
            /// HTMLs the title.
            /// </summary>
            /// <returns></returns>
            public virtual IHtmlString HtmlTitle()
            {
                return HtmlTitle(null);
            }
            /// <summary>
            /// HTMLs the title.
            /// </summary>
            /// <param name="defaultTitle">The HTML title.</param>
            /// <returns></returns>
            public virtual IHtmlString HtmlTitle(string defaultTitle)
            {
                var title = string.IsNullOrEmpty(this.PageContext.HtmlMeta.HtmlTitle) ? defaultTitle : this.PageContext.HtmlMeta.HtmlTitle;
                if (!string.IsNullOrEmpty(title))
                {
                    return new HtmlString(string.Format("<title>{0}</title>", Kooboo.StringExtensions.StripAllTags(title)));
                }
                return new HtmlString("");
            }
    View Code

    其实我觉得大家有必要了解下IHtmlString这个接口。

    这个接口不是出自于CMS,而是系统内定义的。

    using System;
    
    namespace System.Web
    {
        // 摘要: 
        //     表示不应再次进行编码的 HTML 编码的字符串。
        public interface IHtmlString
        {
            // 摘要: 
            //     返回 HTML 编码的字符串。
            //
            // 返回结果: 
            //     HTML 编码的字符串。
            string ToHtmlString();
        }
    }
    

      关于这个接口的详细介绍我在网上也搜了一个,是MSDN上面的。不知道谁还有更详细的资料?

    下面是里面的最重要的一个方法:

            public virtual IHtmlString HtmlTitle(string defaultTitle)
            {
    
    
                var title = string.IsNullOrEmpty(this.PageContext.HtmlMeta.HtmlTitle) ? defaultTitle : this.PageContext.HtmlMeta.HtmlTitle;
                if (!string.IsNullOrEmpty(title))
                {
                    return new HtmlString(string.Format("<title>{0}</title>", Kooboo.StringExtensions.StripAllTags(title)));
                }
                return new HtmlString("");
            }

      上面的代码的意思是,如果当前上下文HtmlMeta.HtmlTitle为空,那么就取带入的标题。但是如果defaultTitle和HtmlMeta.HtmlTitle都为空的话,那么就返回空字符串。否则执行<title>{0}</title>.

  • 相关阅读:
    DBCC修复不同情况下的损坏
    Python单例模式的4种实现方法
    osx 安装redis
    tornado系列文章
    Python中__init__和__new__的区别详解
    Tornado源码分析之http服务器篇
    tornado.ioloop.IOLoop相关文章
    How to use POST method in Tornado?
    https://github.com/diogobaeder/pycket
    Frequently Asked Questions
  • 原文地址:https://www.cnblogs.com/kmsfan/p/Kooboo-CMS-Html-FrontHtml-HtmlTitle.html
Copyright © 2011-2022 走看看