2012-05-16 112 views
0

我有在C#2的usercontrol如下面的(webheader,webfooter)用戶控件事件處理程序

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="webheader.ascx.cs"  Inherits="WebUserControls.webheader" %> 
    <p> 
    <asp:Button ID="btnAdd" runat="server" Text="Add" onclick="btnAdd_Click" /> 

    &nbsp;&nbsp;&nbsp;&nbsp; 

    <asp:Button ID="btnEdit" runat="server" Text="Edit" /> 

    &nbsp;&nbsp;&nbsp;&nbsp; 

    <asp:Button ID="btnDelete" runat="server" Text="Delete" /> 

    </p> 


    <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="webFooters.ascx.cs"  Inherits="WebUserControls.webFooters" %> 
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
    <br /> 
    <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label> 
    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> 
    <br /> 
    <asp:Label ID="Label3" runat="server" Text="Label"></asp:Label> 
    <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox> 
    <br /> 
    <asp:Label ID="Label4" runat="server" Text="Label"></asp:Label> 
    <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox> 
    <br /> 
    <asp:Label ID="Label5" runat="server" Text="Label"></asp:Label> 
    <asp:TextBox ID="TextBox5" runat="server"></asp:TextBox> 
    <p> 
    &nbsp;</p> 

我已經在用戶控件3個按鈕webheader我想呼叫在webfooters 3種不同的方法被稱爲每個按鈕不同方法我該如何處理,因爲我把2個用戶控件放在一個頁面上

回答

0

在事件和委託的幫助下,您可以非常輕鬆地完成此任務。

從WebHeader公開事件並在內容頁面中訂閱它。使WebFooter中的方法在WebHeader Click上調用。一旦按鈕被點擊通話WebFooter

此時,相應的方法
//pseudo code 

//WebHeader 
public delegate void Button1Clicked(object[] args); 
//raise this event when the button is clicked 
public event Button1Clicked buttonClicked; 

//WebFooter 
public void Method1(object[] params); //for button 1 click 



//In content page which holds both header and footer control 
WebHeader.Button1Clicked+= new WebHeader.Button1Clicked (HandleClick); 

public void HandleClick(object[] params) 
{ 
    WebFooter.Method2(params); 
} 

參見下面的例子更加清晰http://www.dotnetfunda.com/articles/article201.aspx

+0

我會嘗試,我會讓你知道結果 –

+0

感謝阿南德它是爲我工作的好是我想要的 –

+0

@RabihGebara:如果它解決了您的查詢,請將答案標記爲正確。謝謝 – Anand