请教如何重写DataList控件,使其具有EmptyDataTemplate模板功能?我试了一下: public class DataList : System.Web.UI.WebControls.DataList
    {
        public DataList()
        {        }
        private ITemplate emptyDataTemplate;        [PersistenceMode(PersistenceMode.InnerProperty), TemplateContainer(typeof(TemplateControl))]
        public ITemplate EmptyDataTemplate
        {
            get { return emptyDataTemplate; }
            set { emptyDataTemplate = value; }
        }
        protected override void OnDataBinding(EventArgs e)
        {            base.OnDataBinding(e);
            if (emptyDataTemplate != null)
            {
                if (this.Items.Count == 0)
                {
                    EmptyDataTemplate.InstantiateIn(this);
                }
            }
        }
    }然后把它生成的DLL引用到网站中,但是页面中还是无法使用EmptyDataTemplate模板功能,在线急等,谢谢各位大侠!

解决方案 »

  1.   

    http://forums.asp.net/ThreadNavigation.aspx?PostID=3343723&NavType=Next
      

  2.   


    public class DataListEX : System.Web.UI.WebControls.DataList
        {
            public string EmptyDataHTML { set; get; }        protected override void Render(HtmlTextWriter writer)
            {
                if (this.Items.Count == 0)
                {
                    writer.Write(EmptyDataHTML);
                }
                else
                {
                    base.Render(writer);
                }            
            }    }<custom:DataListEX ID="dl" runat="server" EmptyDataHTML="<span>数据为空</span>">
        <HeaderTemplate>dl H</HeaderTemplate>                
        <FooterTemplate>dl F</FooterTemplate>
        </custom:DataListEX>