ASP.NET 移动控件实现模板呈现

本文介绍ASP.NET移动控件如何支持模板呈现,并详细说明了模板呈现的流程,包括控件如何选择模板、创建模板化的用户界面及渲染过程。此外,还提到了移动控件在模板呈现时对容器控件的要求及事件处理。
ASP.NET 移动控件 

实现模板呈现

支持模板呈现的 ASP.NET 移动控件也支持默认的呈现。根据目标设备的不同,有关如何使用模板来综合考虑呈现方式的决策也会有所不同。ASP.NET 提供标准操作序列,允许模板呈现特定于设备。支持模板呈现的移动控件必须使用以下顺序:

  1. 控件使用 IsTemplated 属性确定是否定义和选择了设备模板。使用 OnInitCreateChildControls 方法进行这一操作。
  2. 如果定义了模板,则控件调用 CreateTemplatedUI 方法,该方法是控件从 MobileControl 基类继承的。
    注意   如果控件并非模板化控件,则不调用 CreateTemplatedUI
  3. CreateTemplatedUI 调用控件适配器的 CreateTemplatedUI 方法。可以对设备适配器进行编码,重写此方法以实现特定于设备的模板呈现。
  4. 在控件适配器基类中定义的控件适配器的 CreateTemplatedUI 方法的默认实现又调用该控件的 CreateDefaultTemplatedUI 方法。可以对控件进行编码,重写此方法以实现一般的模板呈现。
  5. 在适配器的 Render 方法中,控件通过呈现其子级(在其中创建模板的实例),呈现模板。

移动控件还必须始终在从 System.Web.UI.MobileControls.TemplateContainer 导出的容器控件类型内创建新模板的实例。此规则比适用于 ASP.NET 服务器控件的规则更严格,后者只要求控件实现 INamingContainer 标记接口。以下示例显示如何在移动控件中创建模板的实例。

[C#]

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

ItemCommand 事件

对于模板呈现,通过 ASP.NET 的事件冒泡机制调用 ItemCommand 事件处理程序。向该事件处理程序传递一个参数,该参数指向源项以及指向生成该事件的控件的 CommandName 属性。这允许您以多种关联的交互方式呈现单个列表项。

在默认呈现时,控件提供简单的用户界面,允许用户单击一组项。在回发时,该控件调用 ItemCommand 处理程序,其参数指向源项。CommandName 属性返回 null 引用(在 Visual Basic 中为 Nothing)。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值