asp.Netまとめのユーザーコントロール
4041 ワード
1、ホームページのpageloadイベント実行後にユーザーコントロールのpageloadイベントを実行する
2、ユーザーコントロールクラスにpublic属性を追加し、関連するユーザーコントロール上のコントロールまたはコントロールの属性をホームページに開くことができる
3、ユーザーコントロールはローカルキャッシュとして使用でき、ユーザーコントロールページに追加できる
ここでDurationはキャッシュ時間、VaryByParamはクエリーパラメータ(異なるクエリーパラメータによってキャッシュされるかどうか、複数はセミコロンで区切られる)、VaryByControlはコントロール値に基づくキャッシュ(複数のコントロールはセミコロンで区切られる)であり、shareはtrueである.このユーザーコントロールを複数の異なるページで参照する場合、キャッシュされたユーザーコントロールも採用され、ユーザーコントロールオブジェクトを新規作成するのではなく、キャッシュされたユーザーコントロールが採用される
4、ホームページはユーザーコントロール上の操作イベントに影響する:例えばユーザーコントロール上にボタンコントロールがあり、コントロールをクリックするとホームページ上のイベントに応答する
1)ユーザーコントロールクラスにイベント委任を追加する
2)ユーザコントロールのボタンイベントで依頼を呼び出す
3)ホームページでイベント応答を定義する方法
4)ホームページでpage_loadイベントに登録イベントを追加
これにより、ユーザーコントロールのボタンをクリックすると、ホームページ上のイベントが実行されます.
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;
}
これにより、ユーザーコントロールのボタンをクリックすると、ホームページ上のイベントが実行されます.