首先我们找到这个类。
这个类有如下的方法:
#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>.
时间: 2024-10-03 22:27:13