asp.net总结之用户控件

1、主页面的pageload事件执行后才执行用户控件的pageload事件

2、在用户控件类中添加public属性,可以开放相关的用户控件上的控件或控件的属性给主页面调用

        //公开某控件的Text属性
        public string Message
        {
            get { return msglbl.Text; }
            set { msglbl.Text = value; }
        }


        //公开某控件全部属性
        public Label Msglbl
        {
            get { return msglbl; }
        }

 

3、用户控件做可以做局部缓存使用,可以在用户控件页面上加上

<%@ OutputCache Duration="10" VaryByParam="keyword" VaryByControl="msglbl" Shared="true" %>

其中Duration为缓存时间,VaryByParam为是查询参数(是否通过不同的查询参数做缓存,多个用分号分开),VaryByControl为根据控件值的做缓存(多个控件用分号分开),share为true则说明当有多个不同页面引用这个用户控件时,也采用缓存的用户控件,而不是新创建用户控件对象

4、主页面影响用户控件上的操作事件 :比如用户控件上有个按钮控件,点击控件会响应主页面上的事件

  1)在用户控件类中添加一个事件委托

public event EventHandler Myevent; 

  2)在用户控件的按钮事件中调用该委托

        protected void btn_OnClick(object sender, EventArgs e)
        {
            if (Myevent != null)
                Myevent(this, e);
            else
                throw new Exception("fdsa");
        }

 

  3)在主页面中定义事件响应的方法

        protected void My_Click(object sender, EventArgs e)
        {
            albl.Text = "test";
        }

 

  4)在主页面中page_load事件中添加注册事件

        protected void Page_Load(object sender, EventArgs e)
        {
            myAscx.Myevent += My_Click;
        }

这样当点击用户控件上的按钮时,将执行主页面上的事件。

posted on 2012-09-06 16:45  穆穆  阅读(315)  评论(0编辑  收藏  举报