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; }
這樣當點擊使用者控制項上的按鈕時,將執行首頁面上的事件。