[C#][VB] 使用 UserControl 建立事件於 Page 頁面調用方法

摘要:[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 事件即可

 

以上

 

 


以上文章敘述如有錯誤及觀念不正確,請不吝嗇指教
如有侵權內容也請您與我反應~謝謝您 :)