Kooboo CMS - @Html.FrontHtml().HtmlTitle() 详解
首先我们找到这个类。
这个类有如下的方法:
#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(""); }
其实我觉得大家有必要了解下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>.
作者:
KMSFan
出处:http://www.cnblogs.com/kmsfan
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
欢迎大家加入KMSFan之家,以及访问我的优酷空间!
出处:http://www.cnblogs.com/kmsfan
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
欢迎大家加入KMSFan之家,以及访问我的优酷空间!