asp.Netまとめのユーザーコントロール

4041 ワード

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;

        }

これにより、ユーザーコントロールのボタンをクリックすると、ホームページ上のイベントが実行されます.