熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

RenderControl (asp.net)

2013-11-13 10:23:58  來源: .NET編程 
    當要把一個控件的html代碼包括內容輸出時(比如導出word或excel或直接輸出來或通過httpxmlrequest返回)就要使用控件的
   
    rendcontrol()方法比如gridview  :
   
    SystemIOStringWriter oStringWriter = new SystemIOStringWriter()
   
    SystemWebUIHtmlTextWriter oHtmlTextWriter = new SystemWebUIHtmlTextWriter(oStringWriter)
   
    MyGridRenderControl(oHtmlTextWriter)
   
    ResponseWrite(oStringWriterToString())
   
    ResponseEnd()
   
    頁面將建立一個HtmlTextWriter類的實例在這個實例中封裝了相應流接著頁面會把HtmlTextWriter對象傳遞給RenderControlRenderControl會檢查控件的Visible屬性是否為真如果是真RenderControl會調用Render方法而Render方法會去調用RenderContentsRenderContents方法負責將控件的內容呈現到指定的編寫器中如果控件有子控件的話Render方法又會把HtmlTextWriter傳遞給RenderChildren方法RenderChildren方法負責生成控件的子控件
   
    我們可以這樣認為rendercontrol方法先把控件內容輸出到htmlTextWriter又因為ostringwriter跟htmltextwriter有關聯所以內容也就存儲在ostringwriter中 繼而通過responsewrite(ostringwritertostring())輸出

From:http://tw.wingwit.com/Article/program/net/201311/13490.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.