ASP.NET动态设置页面标题的方法详解
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控件,效果一样!
上一篇: 读Core Java 第二章
下一篇: .Net实现合并文件的具体方法