呼叫一个.ASCX控制的方法对另一个.ASCX控制



我有2个用户控件名称为A.ASCX,B.ASCX,并且两个都在单个.aspx页面中。我有一种方法,可以说A.ASCX页面中的GetData()。我应该如何在b.ascx.cs

中称呼该方法

我在A.ASCX页面上尝试了一些东西,

public partial class A : System.Web.UI.UserControl
{   
  public event EventHandler BindDataTotalSummary;
   public void BindDataTotalSummary()
  {
      //For example
      textbox1.Text = "";
      TaxesBreakdownRepeater.DataSource = dt;
      TaxesBreakdownRepeater.DataBind();
   }
}

我应该如何在b.ascx.cs页面

中调用此方法
public partial class B : System.Web.UI.UserControl
{ 
   public void MethodB()
  {
      A objectA= new A();//Showing error
      BindDataTotalSummary abc=new BindDataTotalSummary();//Showing error
     //Some Stuff of code
   }
}

您可以制作BindDataTotalSummary()方法static,然后您可以使用类调用该方法,例如:

    public partial class A : System.Web.UI.UserControl
    {   
      public event EventHandler BindDataTotalSummary;
       public static void BindDataTotalSummary()
      {
         //Some Stuff of code
       }
    }
   public partial class B : System.Web.UI.UserControl
   { 
     public static void MethodB()
     {
        A.BindDataTotalSummary();
        //Some Stuff of code
     }
   }

这不应产生任何错误。

要创建一个包含GetData()方法的class并从两个ascx控件中调用它?

您的GetDataClass

public class GetDataClass {
     public void BindDataTotalSummary()
     {
          //Some Stuff of code
     }
}

第一个ascx

public partial class A : System.Web.UI.UserControl
{   
  public event EventHandler BindDataTotalSummary;
  public void MethodA()
  {
      GetDataClass objData = new GetDataClass();
      objData.BindDataTotalSummary();
   }
}

第二个ascx

public partial class B : System.Web.UI.UserControl
{ 
   public void MethodB()
  {
      GetDataClass objData = new GetDataClass();
      objData.BindDataTotalSummary();
  }
}

最新更新