快速业务通道

ASP.NET动态设置页面标题

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20

ASP.NET为我们提供了一个控件类:System.Web.UI.HtmlControls.HtmlGenericControl。它可以实现HTML的元素的一个实例,比如在.cs代码中控制aspx中的<td>元素(注意,它不是<ASP:TableCell>)。我们知道,页面标题是被包含在<TITLE></TITLE>中的,而<TITLE>也是一个HTML的元素,所以,我们就可以利用System.Web.UI.HtmlControls.HtmlGenericControl来控制<TITLE>了。

ASP.NET中,如果想在.cs中控制aspx的一个元素(不论这个元素是Web控件还是HTML控件),那么这个元素的runat属性必须设置成server,也就是说,只有元素的runat属性设置成server后,在.cs中才可以控制这个元素(当然,这个元素必须设置id的)。

现在我们着手试试,在aspx文件的HTML代码中,更改<TITLE>元素为:

<TITLE runat="server" id="titleControl">Default Title</TITLE>

注意一定要设置runat="server"和id(id很重要,并且注意大小写)。这里的Default Title是默认的标题,你不改标题时,就显示Default Title.

转到.cs文件,声明一个变量titleControl,类型为

System.Web.UI.HtmlControls.HtmlGenericControl:
protected System.Web.UI.HtmlControls.HtmlGenericControl titleControl;

这样,titleControl就是<TITLE>了。要改变标题就可以在.cs方法中(比如:Page_Load)加入:

titleControl.InnerText=“我把标题给改了!”;

其实对于System.Web.UI.HtmlControls.HtmlGenericControl控件可以作为所有的HTML控件在服务器端的表现,也就是说只要在后台代码(.aspx.cs/.aspx.vb)中声明一个与前端的HTML控件Id相同的System.Web.UI.HtmlControls.HtmlGenericControl控件对象就可以,并要注意前端的HTML控件的属性中要加上一句runat="server",要不然后,后台代码是不会对前端HTML控件执行操作的。

也可以<title></title>之间加入Literal控件,效果一样!

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号