控制項呈現是指向HTTP輸出資料流中寫入標記文本的過程。伺服器通過HTTP輸出資料流 向用戶端發送產生的標記文本,這些文本將會通過用戶端瀏覽器轉換為可視化的 元素顯示出來。使用控制項呈現,開發人員可以將HTML標記、指令碼代碼、CSS樣式 表等等輸入到用戶端瀏覽器。實現伺服器控制項呈現主要有兩種方式:一是 Control類的Render方法,二是WebControl的RenderContents方法。本文重點介 紹使用Control類的Render方法實現控制項呈現的應用。
使用HtmlTextWriter類
Control類的Render方法主要用於實現控制項呈現,其聲明代碼如下:
protected virtual void Render(HtmlTextWriter output)
如上代碼所示,Render方法的參數是一個HtmlTextWriter類型。為了更好的 應用Render方法,讀者應首先瞭解HtmlTextWriter類及其相關內容。
根據MSDN2005的描述,HtmlTextWriter類用於將標記字元和文本寫入到 ASP.NET伺服器控制項輸出資料流。此類提供了ASP.NET伺服器控制項在向用戶端轉譯標記 時所使用的格式設定功能。為了實作類別的功能,HtmlTextWriter類定義了多個字 段、屬性和方法。由於成員對象眾多,本文只挑選了一些常用成員加以說明,同 時,還將介紹一些ASP.NET 2.0的新增成員。
常用成員對象包括:
·AddAttribute方法
對於HtmlTextWriter對象通過對RenderBeginTag方法的後續調用建立的元素 ,向其開始標記中添加指定的標記屬性和值。
·AddStyleAttribute方法
對於 HtmlTextWriter 對象通過對 RenderBeginTag 方法的後續調用建立的 元素,向其開始標記中委任標記樣式屬性。
·Write方法
將指定資料類型連同任何掛起的定位字元間距一起寫入到輸出資料流。
·WriteAttribute方法
將標記屬性及其值寫入到輸出資料流。
·WriteBeginTag方法
任何定位字元間距和指定標記元素的開始標記寫入到輸出資料流。
·WriteEndTag方法
寫入指定的標記元素的任何定位字元間距和結束標記。
·Encoding屬性
擷取 HtmlTextWriter 對象用於將內容寫入頁的編碼。
·Indent屬性
擷取或設定用以縮排每一行標記的開始位置的定位字元位置數。