您的位置:首页 > 其它

自定义输出标题等信息

2010-05-13 16:05 183 查看
自定义输出标题信息。可以让你在网页的<title></title>中输出自定义的文字。
这也是我今天要向大家讲解的例子。其实,之中有很多的知识点,有些原理性的东西我也不是很清楚。只做个“抛砖引玉”吧。后续的一些知识点,会慢慢补上。望见谅。如果,您有比较好的技术性的文章,希望能够与我分享!谢谢!
<head runat="server">
<title>会员首页-XX会员</title>
</head>
因为有很多的会员,昵称都不同,做到输出不同的<title>XXXX</title>

直接贴代码:

1. 编写重写<title></title>的类的代码。
[ParseChildren(false), PersistChildren(true)]
public class MyTitle :Control
{
private const string titleKey = "Hotspot.Title.Value";
protected override void Render(HtmlTextWriter writer)
{
string siteName = this.Context.Items[titleKey] as string ?? string.Empty;
if (string.IsNullOrEmpty(siteName))
{
siteName = "自定义的title内容";
}
writer.WriteLine("<title>{0}</title>", siteName);
}
}

注释: MyTitle该类必须继承自Control,并且重写Render(HtmlTextWriter writer)方法。该方法中参数为HtmlTextWriter对象,该对象将写<title>XXXX</title>,并将其输出至页面。(其实,是将title重写为了用户自定义的一个简单的控件)。

2. 在web.config配置文件中,注册该控件。
<add tagPrefix="MyTitle" namespace="Controls" assembly="Controls"/>

注释: tagPrefix指该控件的前缀;namespace指该控件的命名空间;assembly指该控件的程序集;

3. 在页面中引用该控件。
<head runat="server">
<MyTitle:MyTitle runat="server" ID="mylalble1" ></MyTitle:MyTitle>
</head>
注释: 可以对照第1、2步,可以知道,页面中引用的结构为:

<前缀:类名 runat="server" ID="mylalble1" ></前缀:类名>

到此,代码就完成了,是不是很简单?!相信你已经看明白了。
但是,其中还有很多知识,还没来的急消化。关于Control类、HtmlTextWriter对象,还没有搞明白,以后会补充。望原谅。
希望: 您能够有一点点的收获。我万分荣幸!
如果:您有什么好的知识帖子,望于我分享!谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: