如何使用ASP.NET母版页统一网页标题
2012-02-29 20:40
295 查看
一个网站的时候需要将所有的标题的格式统一起来,比如将所有网页的标题统一为“XX页面 | XX网站”。
zenoven在用VS2005做的时候开始没用母版页,后来用母版页的时候发现改内容页的标题其实挺麻烦的,因为每个内容页都要设置标题,而每个标题中都要有网站的名字。如果手工给每个内容页加上该内容页的标题,再加上网站名字,岂不是很麻烦?好在我们用的是动态语言,至少网站名字可以在母版页中直接统一起来。
下面说下我用的两种方法改写网页标题。
1、所有的网页标题设置为“XX页面 | XX网站”。
这种方法很简单,只用在母版页的xx.ASPx.cs文件中写上这样一句代码(BasePage.GetSiteName()为获取网站标题的方法)
Page.Header.Title += “ | “ +BasePage.GetSiteName();//设置前台页面所有内容页标题
然后在每个内容页中加上内容页的标题就OK了。
2、在母版页中改写所有内容页标题
这样做的好处是如果要修改标题的内容页有很多,那么只用修改母版页就OK了,内容页中的标题可以不用管。这种方式的原理是先判断是哪个内容页请求的母版页,然后根据内容页的文件名来强制改写内容页的标题。
这种方式下可以用if else判断,也可以用switch case来做
string requestContentType =this.ContentBox.Page.GetType().ToString();//获取请求的内容页类型,格式如ASP.文件名_aspxwww.yzjjx.com
if (requestContentType == “ASP.index_aspx”)
{
Page.Header.Title = “欢迎光临” + BasePage.GetSiteName();
}
else
{
Page.Header.Title += “ | “ +BasePage.GetSiteName();//设置前台页面所有内容页标题
}
这段代码先判断内容页是不是首页(所有aspx文件名都被转换成形如“ASP.文件名_aspx”,首页文件名为indxe.aspx,所以就被转成 ASP.index_aspx),然后根据结果改写标题。
B、如果大部分网页的标题格式都不同或需要在母版页改写所有内容页标题题
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”: www.yzjjx.com
{
Page.Header.Title = “C的网页标题”;
break;
}
}
当然应该还有别的方法来改写网页标题,这只是我目前用到的两种,也不一定是最好的。
zenoven在用VS2005做的时候开始没用母版页,后来用母版页的时候发现改内容页的标题其实挺麻烦的,因为每个内容页都要设置标题,而每个标题中都要有网站的名字。如果手工给每个内容页加上该内容页的标题,再加上网站名字,岂不是很麻烦?好在我们用的是动态语言,至少网站名字可以在母版页中直接统一起来。
下面说下我用的两种方法改写网页标题。
1、所有的网页标题设置为“XX页面 | XX网站”。
这种方法很简单,只用在母版页的xx.ASPx.cs文件中写上这样一句代码(BasePage.GetSiteName()为获取网站标题的方法)
Page.Header.Title += “ | “ +BasePage.GetSiteName();//设置前台页面所有内容页标题
然后在每个内容页中加上内容页的标题就OK了。
2、在母版页中改写所有内容页标题
这样做的好处是如果要修改标题的内容页有很多,那么只用修改母版页就OK了,内容页中的标题可以不用管。这种方式的原理是先判断是哪个内容页请求的母版页,然后根据内容页的文件名来强制改写内容页的标题。
这种方式下可以用if else判断,也可以用switch case来做
string requestContentType =this.ContentBox.Page.GetType().ToString();//获取请求的内容页类型,格式如ASP.文件名_aspxwww.yzjjx.com
if (requestContentType == “ASP.index_aspx”)
{
Page.Header.Title = “欢迎光临” + BasePage.GetSiteName();
}
else
{
Page.Header.Title += “ | “ +BasePage.GetSiteName();//设置前台页面所有内容页标题
}
这段代码先判断内容页是不是首页(所有aspx文件名都被转换成形如“ASP.文件名_aspx”,首页文件名为indxe.aspx,所以就被转成 ASP.index_aspx),然后根据结果改写标题。
B、如果大部分网页的标题格式都不同或需要在母版页改写所有内容页标题题
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”: www.yzjjx.com
{
Page.Header.Title = “C的网页标题”;
break;
}
}
当然应该还有别的方法来改写网页标题,这只是我目前用到的两种,也不一定是最好的。
相关文章推荐
- 如何使用ASP.NET母版页统一网页标题
- ASP.NET使用母版页统一网页标题
- ASP.NET使用母版页统一网页标题
- ASP.NET使用母版页统一网页标题
- 【ASP.NET】使用JS动态更改ASP.NET网页标题和Label
- 如何读取EXCEL 表格文件并使他在WEB网页上显示(使用ASP.NET)
- [引]ASP.NET 移动网页 与 如何:使用仿真程序和浏览器在部署移动 Web 应用程序之前对其进行测试
- asp.net 如何使用js来判断一个网页是否处于iframe中
- asp.net使用Microsoft.mshtml提取网页标题等解析网页
- asp.net使用Microsoft.mshtml提取网页标题等解析网页
- asp.net: 应用母版页的页面,如何设置其标题?
- 如何动态改变asp.net网页的标题
- asp.net母版页如何使用
- Sitemesh 3 的使用及配置 1 . Sitemesh 3 简介 Sitemesh 是一个网页布局和修饰的框架,基于 Servlet 中的 Filter,类似于 ASP.NET 中的‘母版页’
- 技巧百问(2):在asp.net网页中如何使用弹出窗体?
- asp.net母版页如何使用
- ASP.net 使用母版页的页面如何使用css
- [引]ASP.NET 移动网页 与 如何:使用仿真程序和浏览器在部署移动 Web 应用程序之前对其进行测试
- 如何用C#在Asp.net中实现打开新网页而不关闭当前页
- VS2012 ASP.NET 母版页的创建和使用