共用方式為


實作樣板化的呈現

更新:2007 年 11 月

支援樣板化呈現的 ASP.NET Mobile 控制項也支援預設的呈現。如何使用樣板來組合呈現的決定會因目標裝置而有所不同。ASP.NET 提供標準的作業順序,允許樣板化的呈現是裝置特定的。支援樣板化呈現的行動控制項必須使用以下順序:

  1. 控制項會使用 IsTemplated 屬性來決定是否定義和選取了裝置樣板。請使用 OnInit 方法或 CreateChildControls 方法來進行這項處理。

  2. 如果已定義樣板,控制項就會呼叫 CreateTemplatedUI 方法,該方法是由控制項自 MobileControl 基底類別 (Base Class) 所繼承得到。

    注意事項:

    如果控制項尚未樣板化,就不要呼叫 CreateTemplatedUI

  3. CreateTemplatedUI 會呼叫控制項配接器的 CreateTemplatedUI 方法。您可以撰寫裝置配接器覆寫這個方法,以實作裝置特定的樣板化呈現。

  4. 控制項配接器之 CreateTemplatedUI 方法 (定義於控制項配接器基底類別中) 的預設實作 (Implementation) 會接著呼叫控制項的 CreateDefaultTemplatedUI 方法。您可以撰寫控制項覆寫這個方法,以實作一般樣板化呈現。

  5. 在配接器的 Render 方法中,控制項會藉由呈現控制項的子項目 (在其中建立樣板的執行個體) 來呈現樣板。

行動控制項也必須永遠都在建立衍生自 TemplateContainer 的容器控制項型別內之新樣板的執行個體 (Instance)。這個規則比 ASP.NET 伺服器控制項的規則還要嚴格,該規則只要求控制項實作 INamingContainer 標記介面。下列程式碼範例示範如何使用行動控制項來建立樣板的執行個體。

void CreateChildTemplate(ITemplate template)
{
    TemplateContainer container = new TemplateContainer();
        template.InstantiateIn(container);
        container.DataBind();
        Controls.Add(container);
}

ItemCommand 事件

在進行樣板化呈現時,ItemCommand 事件處理常式會經由 ASP.NET 事件反昇 (Event Bubbling) 機制進行呼叫。傳遞給事件處理常式的參數會指向來源項目和產生該事件之控制項的 CommandName 屬性。這可讓您使用多個關聯的互動來呈現單一清單項目。

在預設的呈現上,控制項會提供簡單的使用者介面,允許使用者按一下項目的清單。在回傳時,控制項會使用指向來源項目的引數來呼叫 ItemCommand 處理常式。CommandName 屬性會傳回 null。

請參閱

工作

HOW TO:建立樣板化 ASP.NET 使用者控制項

概念

樣板集和樣板化控制項

其他資源

加入新裝置配接器和裝置支援