摘要:[C#][VB] 使用 UserControl 建立事件於 Page 頁面調用方法
從VB轉來寫C#發現很多方法的用法都不同 都還要查一下
下面紀錄一下如何在建立的 UserControl 中,增加一個按鈕事件,並且於要使用的 aspx 頁面中呼叫這個 UserControl 中建立的事件
首先在一個 AddData.ascx 的 UserControl 中新增一個事件委派
C#:
public delegate void OnClick_InsEventHandler(object sender, EventArgs e); //宣告委派OnClick
public event OnClick_InsEventHandler OnClick_Ins; //委派OnClick事件
public void btnIns_Click(object sender, EventArgs e)
{
if (OnClick_Ins != null)
{
OnClick_Ins(sender, e);
}
}
VB:
Public Event OnClick_Ins(ByVal sender As Object, ByVal e As System.EventArgs)
Protected Sub btnIns_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnIns.Click
RaiseEvent OnClick_Ins(sender, e)
End Sub
如此,在UserControl的事件就完成了
再來就必須在 aspx 頁面中去調用這個事件,方法如下
C#:
protected void Page_Load(object sender, EventArgs e)
{
this.AddData.OnClick_Ins += new AddData.OnClick_InsEventHandler(btnIns_Click);
}
protected void btnIns_Click(object sender, EventArgs e)
{
//dosomething....
}
VB:
Private Sub btnIns_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles AddData.OnClick_Ins
'dosomething....
End Sub
兩種語言方法上有點差異,
C# 必須在 aspx 頁面一開始 將 UserControl 的 OnClick_Ins 事件指向 aspx 中的 btnIns_Click 方法
VB 則只需要將btnIns_Click方法的 Handles 指向 UserControl 的 OnClick_Ins 事件即可
以上
以上文章敘述如有錯誤及觀念不正確,請不吝嗇指教
如有侵權內容也請您與我反應~謝謝您 :)