動態設置頁面標題(轉)

      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控件,效果一樣!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章