每个网页应该有合理的标题,而且这些标题应该有统一的格式,比如将所有网页的标题统一为“XX页面 | XX网站”,本篇互联力量文章将简单说说用asp.net母版页统一标题的思路

1、所有的网页标题设置为“XX页面 | XX网站”。

这种方法很简单,只用在母版页的xx.aspx.cs文件中写上这样一句代码

asp.net源码

(BasePage.GetSiteName()为获取网站标题的方法) Page.Header.Title += " | " + BasePage.GetSiteName();//设置前台页面所有内容页标题

然后在每个内容页中加上内容页的标题就OK了。

asp.net控件

2、在母版页中改写所有内容页标题

这样做的好处是如果要修改标题的内容页有很多,那么只用修改母版页就OK了,内容页中的标题可以不用管。这种方式的原理是先判断是哪个内容页请求的母版页,然后根据内容页的文件名来强制改写内容页的标题。

这种方式下可以用if else判断,也可以用switch case来做

string requestContentType = this.ContentBox.Page.GetType().ToString();//获取请求的内容页类型,格式如ASP.文件名_aspx   if (requestContentType == "ASP.index_aspx") { Page.Header.Title = "欢迎光临" + BasePage.GetSiteName(); } else { Page.Header.Title += " | " + BasePage.GetSiteName();//设置前台页面所有内容页标题 }

这段代码先判断内容页是不是首页(所有aspx文件名都被转换成形如“ASP.文件名_aspx”,首页文件名为indxe.aspx ,所以就被转成 ASP.index_aspx),然后根据结果改写标题。

如果大部分网页的标题格式都不同或需要在母版页改写所有内容页标题,可以按以下思路:

asp.net教程

string requestContentType = this.ContentBox.Page.GetType().ToString();//获取请求的内容页类型,格式如ASP.文件名_aspx   switch (requestContentType) { case "ASP.A_aspx" : { Page.Header.Title = "A的网页标题"; break; } case "ASP.B_aspx": { Page.Header.Title = "B的网页标题"; break; } case "ASP.C_aspx": { Page.Header.Title = "C的网页标题"; break; } }

当然还有别的方法来改写网页标题,这只是提供一种思路,也不一定是最好的