Control.RenderControl 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
輸出伺服器控制項內容,並在啟用追蹤功能的情況下,儲存有關控制項的追蹤資訊。
多載
RenderControl(HtmlTextWriter) |
將伺服器控制項內容輸出至提供的 HtmlTextWriter 物件,並在啟用追蹤時儲存控制項的追蹤資訊。 |
RenderControl(HtmlTextWriter, ControlAdapter) |
使用提供的 HtmlTextWriter 物件,輸出伺服器控制項內容至提供的 ControlAdapter 物件。 |
RenderControl(HtmlTextWriter)
將伺服器控制項內容輸出至提供的 HtmlTextWriter 物件,並在啟用追蹤時儲存控制項的追蹤資訊。
public:
void RenderControl(System::Web::UI::HtmlTextWriter ^ writer);
public:
virtual void RenderControl(System::Web::UI::HtmlTextWriter ^ writer);
public void RenderControl (System.Web.UI.HtmlTextWriter writer);
public virtual void RenderControl (System.Web.UI.HtmlTextWriter writer);
member this.RenderControl : System.Web.UI.HtmlTextWriter -> unit
abstract member RenderControl : System.Web.UI.HtmlTextWriter -> unit
override this.RenderControl : System.Web.UI.HtmlTextWriter -> unit
Public Sub RenderControl (writer As HtmlTextWriter)
Public Overridable Sub RenderControl (writer As HtmlTextWriter)
參數
- writer
- HtmlTextWriter
接收控制項內容的 HtmlTextWriter 物件。
範例
下列範例會 RenderChildren 覆寫自定義伺服器控制項中的方法。 它會判斷目前控制件在其物件中 ControlCollection 是否有任何子控制件。 如果是,它會使用 Count 屬性逐一查看集合。 當它遇到每個子控件時,它會使用 RenderControl 方法,將子控件及其所有子控件轉譯到包含的頁面。 XhtmlTextWriter傳遞給這個方法的物件是由 Render 方法具現化。
// Override default implementation to Render children according to needs.
protected override void RenderChildren(HtmlTextWriter output)
{
if (HasControls())
{
// Render Children in reverse order.
for(int i = Controls.Count - 1; i >= 0; --i)
{
Controls[i].RenderControl(output);
}
}
}
protected override void Render(HtmlTextWriter output)
{
output.Write("<br>Message from Control : " + Message);
output.Write("Showing Custom controls created in reverse" +
"order");
// Render Controls.
RenderChildren(output);
}
' Override default implementation to Render children according to needs.
Protected Overrides Sub RenderChildren(output As HtmlTextWriter)
If HasControls() Then
' Render Children in reverse order.
Dim i As Integer
For i = Controls.Count - 1 To 0 Step -1
Controls(i).RenderControl(output)
Next
End If
End Sub
Protected Overrides Sub Render(output As HtmlTextWriter)
output.Write(("<br>Message from Control : " + Message))
output.Write(("Showing Custom controls created in reverse" + "order"))
' Render Controls.
RenderChildren(output)
End Sub
End Class
備註
如果伺服器控制件的 Visible 屬性設定為 true
,這個方法會判斷是否啟用頁面的追蹤。 如果是,它會儲存與控件相關聯的追蹤資訊,並將伺服器控件內容轉譯至頁面。
這個方法會在轉譯期間由頁面自動呼叫,但可由自定義控件開發人員覆寫。
另請參閱
適用於
RenderControl(HtmlTextWriter, ControlAdapter)
使用提供的 HtmlTextWriter 物件,輸出伺服器控制項內容至提供的 ControlAdapter 物件。
protected:
void RenderControl(System::Web::UI::HtmlTextWriter ^ writer, System::Web::UI::Adapters::ControlAdapter ^ adapter);
protected void RenderControl (System.Web.UI.HtmlTextWriter writer, System.Web.UI.Adapters.ControlAdapter adapter);
member this.RenderControl : System.Web.UI.HtmlTextWriter * System.Web.UI.Adapters.ControlAdapter -> unit
Protected Sub RenderControl (writer As HtmlTextWriter, adapter As ControlAdapter)
參數
- writer
- HtmlTextWriter
接收控制項內容的 HtmlTextWriter。
- adapter
- ControlAdapter
定義呈現的 ControlAdapter。
備註
ASP.NET 網頁可用於各種裝置和瀏覽器,這些裝置和瀏覽器都可以從 Web 要求資訊。 屬性 Adapter 會傳 ControlAdapter 回 物件,這個物件會轉譯要求裝置或瀏覽器畫面上的控件。
如需配接器的詳細資訊,請參閱 調適型控件行為的架構概觀。
如果伺服器控制件的 Visible 屬性設定 true
為 ,且已啟用頁面的追蹤,則會擷取與控件相關聯的追蹤資訊。
給繼承者的注意事項
在 RenderControl(HtmlTextWriter, ControlAdapter) 自定義控件中覆寫 方法時,請呼叫基類方法,以確保正確擷取追蹤資訊。