将一个.ascx控件的调用方法调用到另一个.ascx控件

时间:2016-12-07 14:20:37

标签: javascript c# jquery asp.net user-controls

我有两个用户控件名称为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
   }
}

2 个答案:

答案 0 :(得分:0)

您可以使用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
     }
   }

这不应该产生任何错误。

答案 1 :(得分:0)

如何创建包含class方法的GetData()并从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();
  }
}