zoukankan      html  css  js  c++  java
  • 第三讲 Web表单高级技巧

    这部分讲得对初学者有点难,我觉得自定义控件,我要好好补上这一课!
    DataGrid, DataList, Repeater
    使用Template
    自定义数据绑定
    <ASP:TEMPLATECOLUMN HeaderText="Country">
     <ITEMTEMPLATE>
      <ASP:LABEL Runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Country") %>'></ASP:LABEL>
     </ITEMTEMPLATE>
     <EDITITEMTEMPLATE>
      <ASP:DROPDOWNLIST Runat="server" ID="lstCountries"></ASP:DROPDOWNLIST>
     </EDITITEMTEMPLATE>
    </ASP:TEMPLATECOLUMN>

    *自定义控件
    派生的控件
    用户控件
    复合控件
    自描绘控件
    Designer

    *自描绘控件
    捕获按钮点击事件
    IPostBackEventHandler
    捕获提交来的数据
    IPostBackDataHandler
    使用客户端脚本

    *Designer
    ControlDesigner
    TemplatedControlDesigner
    UserControlDesigner
    TextControlDesigner
    ……

    *使用模板
    ITemplate类型的Property表示一种模板
    模板由框架自动实现

    [TemplateContainer(typeof(MyContainer))]
    public ITemplate ItemTemplate
    {
      get { return itemTemplate; }
      set { itemTemplate=value; }
    }

    itemTemplate.InstantiateIn(this);

    <MY:WEBCUSTOMCONTROL1 runat="server" Text="Hello world!" id="c1">
      <ITEMTEMPLATE>
        <ASP:BUTTON Runat="server" Text=" <%# Container.Text %>"></ASP:BUTTON>
      </ITEMTEMPLATE>
    </MY:WEBCUSTOMCONTROL1>

    private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
    {
      if(e.Item.ItemType==ListItemType.EditItem)
        {
     DropDownList lstCountries=(DropDownList)e.Item.FindControl("lstCountries");

     lstCountries.Items.Add("CN");
     lstCountries.Items.Add("US");
        }
    }

    *在数据绑定中使用模板
    使用专门的 Container 定位数据行
    处理 Postback 时没有数据源的情况
    使用样式单
    Bubble事件

    网上也找到一些组件开发的资料
    开心每一天,幸福每一刻
    http://www.cnblogs.com/suiqirui19872005/category/109018.html

  • 相关阅读:
    Canvas 与 Image 相互转换
    oracle随笔
    QueryTask,FindTask,IdentifyTask三种查询的区别
    mysql命令
    mysql
    Delphi声明Record变量后直接初始化
    delphi实现映射和断开网络驱动器
    delphi的ArrayList
    Delphi判断一个文件是不是JPG图片
    Delphi 停靠技术的应用3(两个窗体停靠成PageControl样式, 分页停靠)
  • 原文地址:https://www.cnblogs.com/iceberg2008/p/1410856.html
Copyright © 2011-2022 走看看