ASP.NET為我們提供了一個(gè)控件類:System.Web.UI.HtmlControls.HtmlGenericControl。它可以實(shí)現(xiàn)HTML的元素的一個(gè)實(shí)例,比如在.cs代碼中控制aspx中的td>元素(注意,它不是ASP:TableCell>)。我們知道,頁面標(biāo)題是被包含在TITLE>/TITLE>中的,而TITLE>也是一個(gè)HTML的元素,所以,我們就可以利用System.Web.UI.HtmlControls.HtmlGenericControl來控制TITLE>了。
ASP.NET中,如果想在.cs中控制aspx的一個(gè)元素(不論這個(gè)元素是Web控件還是HTML控件),那么這個(gè)元素的runat屬性必須設(shè)置成server,也就是說,只有元素的runat屬性設(shè)置成server后,在.cs中才可以控制這個(gè)元素(當(dāng)然,這個(gè)元素必須設(shè)置id的)。
現(xiàn)在我們著手試試,在aspx文件的HTML代碼中,更改TITLE>元素為:
復(fù)制代碼 代碼如下:
TITLE runat="server" id="titleControl">Default Title/TITLE>
注意一定要設(shè)置runat="server"和id(id很重要,并且注意大小寫)。這里的Default Title是默認(rèn)的標(biāo)題,你不改標(biāo)題時(shí),就顯示Default Title.
轉(zhuǎn)到.cs文件,聲明一個(gè)變量titleControl,類型為System.Web.UI.HtmlControls.HtmlGenericControl:
復(fù)制代碼 代碼如下:
protected System.Web.UI.HtmlControls.HtmlGenericControl titleControl;
這樣,titleControl就是TITLE>了。要改變標(biāo)題就可以在.cs方法中(比如:Page_Load)加入:
titleControl.InnerText=“我把標(biāo)題給改了!”;
其實(shí)對于System.Web.UI.HtmlControls.HtmlGenericControl控件可以作為所有的HTML控件在服務(wù)器端的表現(xiàn),也就是說只要在后臺(tái)代碼(.aspx.cs/.aspx.vb)中聲明一個(gè)與前端的HTML控件Id相同的System.Web.UI.HtmlControls.HtmlGenericControl控件對象就可以,并要注意前端的HTML控件的屬性中要加上一句runat="server",要不然后,后臺(tái)代碼是不會(huì)對前端HTML控件執(zhí)行操作的。
也可以title>/title>之間加入Literal控件,效果一樣!
您可能感興趣的文章:- 動(dòng)態(tài)改變ASP.net頁面標(biāo)題和動(dòng)態(tài)指定頁面樣式表的方法