⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mytemplate.cs

📁 这是《ASP.NET编程实作教程》一书中的源文件 如果有此书的朋友不防下载过来参考
💻 CS
字号:
using System;
using System.Web;
using System.Web.UI;

namespace myControl {

    //定义模板容器
    public class TemplateItem : Control, INamingContainer {
        private String     _message         = null;

        public TemplateItem(String message) {
            _message = message;
        }

        public String Message {
           get {
              return _message;
           }
           set {
              _message = value;
           }
        }
    }

    [
        ParseChildren(true)
    ]
    //定义模板类
    public class myTemplate : Control, INamingContainer {

        
        private ITemplate  _messageTemplate = null;
        private String     _message         = null;

        public String Message {
           get {
              return _message;
           }
           set {
              _message = value;
           }
        }

        [
            PersistenceMode(PersistenceMode.InnerProperty),
            TemplateContainer(typeof(TemplateItem))
        ]
        //模板类的ITemplate属性
        public ITemplate MessageTemplate {
           get {
              return _messageTemplate;
           }
           set {
              _messageTemplate = value;
           }
        }

        //重载的DataBind方法
        public override void DataBind() {
            EnsureChildControls();
            base.DataBind();
        }
        
        //重载的CreateChildControls方法
        protected override void CreateChildControls() {
        	
           //如果模板已经被创建,使用它来创建子控件,否则添加一个LiteralControl控件
           if (MessageTemplate != null) {
              Controls.Clear();
              TemplateItem i = new TemplateItem(this.Message);
              MessageTemplate.InstantiateIn(i);
              Controls.Add(i);
           }
           else {
              this.Controls.Add(new LiteralControl(this.Message));
           }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -