Kooboo CMS - @Html.FrontHtml().HtmlTitle() 详解
2024-08-26 15:23:21
首先我们找到这个类。
这个类有如下的方法:
#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>.
最新文章
- 20161117__修改yum源
- fontsize可以解决img标签插入图片之间的缝隙
- favicon.ico应用与正则表达式验证邮箱(可自动删除前后的空格)
- LINQ to SQL语句(3)之Count/Sum/Min/Max/Avg
- Office 365 - SharePoint 2013 Online 中使用Windows PowerShell
- ORA-01501: CREATE DATABASE failed
- android WebView网页浏览器
- 浅谈JavaScript中的this
- (原创)android中使用相机的两种方式
- 64位WIN7+oracle11g+plsql安装
- C# 获取某月的第一天和最后一天
- ImagePacker
- (转载)Android开发者必知的开发资源
- Failed to install *.apk on device &#39;emulator-5554&#39;: timeout
- Qt551.窗口滚动条
- 12.Redis运维点
- 学以致用三十六-----弄懂python装饰器
- OpenStack实践系列④计算服务Nova
- C# sqlhelper 2
- PHP会话(Session)实现用户登陆功能 转自#落人间#