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
  • 相关阅读:
    java Future模式的使用
    Objects源码解析
    VUE优秀的组件库总结
    数据库的一致性读,赃读,多线程与赃读,ACID,UNDO
    线程基础,多线程架构,高并发,线程安全基础知识
    程序员必备的开发利器
    spring security 实现登录验证码及记住我
    springboot 集成 spring security 自定义登录
    ELK整合SpringBoot日志收集
    ElasticSearch整合SpringBoot的API操作
  • 原文地址:https://www.cnblogs.com/skyfei/p/1043289.html
Copyright © 2011-2022 走看看