ASP.NET動態(tài)設(shè)置頁面標(biāo)題的方法詳解
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>元素為:
<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:
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),也就是說只要在后臺代碼(.aspx.cs/.aspx.vb)中聲明一個(gè)與前端的HTML控件Id相同的System.Web.UI.HtmlControls.HtmlGenericControl控件對象就可以,并要注意前端的HTML控件的屬性中要加上一句runat="server",要不然后,后臺代碼是不會對前端HTML控件執(zhí)行操作的。
也可以<title></title>之間加入Literal控件,效果一樣!
相關(guān)文章
asp.net?core?MVC?全局過濾器之ExceptionFilter過濾器(1)
這篇文章主要為大家詳細(xì)介紹了asp.net?core?MVC?全局過濾器之ExceptionFilter過濾器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
asp.net中CSharpThinking擴(kuò)展方法分析
這篇文章主要介紹了asp.net中CSharpThinking擴(kuò)展方法,實(shí)例講述了擴(kuò)展方法的特征及應(yīng)用,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-11-11
輕量級ORM框架Dapper應(yīng)用之返回多個(gè)結(jié)果集
這篇文章介紹了使用Dapper返回多個(gè)結(jié)果集的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
asp.net DataList與Repeater用法區(qū)別
Repeater比DataList要好一些,如果不是很大數(shù)據(jù)量的話,這點(diǎn)差別是體現(xiàn)不來的。2009-12-12
更方便快捷的外部操作數(shù)據(jù)庫的方法(另類玩法)
數(shù)據(jù)庫操作方法很多,各種各樣但是外部操作數(shù)據(jù)庫的方法就會顯得格外陌生了,感興趣的朋友可以詳細(xì)了解下本文,或許對你學(xué)習(xí)ado.net有所幫助2013-02-02

