zoukankan      html  css  js  c++  java
  • ITempate自定义数据捆绑模板

     转自:http://www.cnblogs.com/DavidFan/archive/2007/06/01/767853.html

    代码其实比较简单了,相信大家能够看得懂,我就不多作解释了。

    public class MyTemplate : ITemplate
    {
        
    #region ITemplate 成员

        
    public void InstantiateIn(Control container)
        
    {
            Literal lbl 
    = new Literal();
            lbl.DataBinding 
    += new EventHandler(lbl_DataBinding);//关键在这里
            container.Controls.Add(lbl);
        }


        
    #endregion


        
    private void lbl_DataBinding(object sender, EventArgs e)
        
    {
            Literal lbl 
    = (Literal)sender;
            
    if (DataBinder.Eval(((DataListItem)lbl.NamingContainer).DataItem, "HaveImg").ToString() == "False")
            
    {
                lbl.Text 
    = "<a href=\"" + DataBinder.Eval(((DataListItem)lbl.NamingContainer).DataItem, "Link").ToString() + "\">" + DataBinder.Eval(((DataListItem)lbl.NamingContainer).DataItem, "Name").ToString() + "</a>";
            }

            
    else
                lbl.Text 
    = "<a href=\"" + DataBinder.Eval(((DataListItem)lbl.NamingContainer).DataItem, "Link").ToString() + "\"><img alt=\"" + DataBinder.Eval(((DataListItem)lbl.NamingContainer).DataItem, "Name").ToString() + "\" src=\"" + DataBinder.Eval(((DataListItem)lbl.NamingContainer).DataItem, "ImgUrl").ToString() + "\" border=\"0\" width=\"95\" height=\"38\" /></a>";
        }

    }

    用的时候
    datalist.ItemTemplate = new MyTemplate();

    补充一下, 如果连接的数据是xml数据源, 那么用XPathBinder 代替 DataBinder
  • 相关阅读:
    Angular 路由的参数传递
    Angular 指令的属性和事件绑定
    Angular 组件的双向绑定
    Angular 组件视图封装模式
    Angular 组件生命周期的顺序
    简谈 Angular 动态绑定样式的几种方法
    Angular 表单快速入门
    如何在 Angular CLI 创建的项目中自定义 webpack 配置
    bootstrap图标菜单按钮组件
    vue指令
  • 原文地址:https://www.cnblogs.com/skyfei/p/1043289.html
Copyright © 2011-2022 走看看