Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在asp.net(C#)中的多个页面中调用函数?_C#_Asp.net - Fatal编程技术网

如何在asp.net(C#)中的多个页面中调用函数?

如何在asp.net(C#)中的多个页面中调用函数?,c#,asp.net,C#,Asp.net,我有三个不同的.aspx页面(abc1.aspx、abc2.aspx、abc3.aspx)。现在我想调用其中三个函数中的一个函数func()。我只想定义一次函数的定义,并在3个不同的页面上调用它 创建从System.Web.UI.Page继承的基类。在那里定义你的函数。然后从这个基本页面继承,而不是从那些aspx页面中的System.Web.UI.page。在此之后,您可以从以下任何页面调用函数:base.MyFunct() BasePage.cs public abstract class B

我有三个不同的.aspx页面(abc1.aspx、abc2.aspx、abc3.aspx)。现在我想调用其中三个函数中的一个函数
func()
。我只想定义一次函数的定义,并在3个不同的页面上调用它

创建从
System.Web.UI.Page
继承的基类。在那里定义你的函数。然后从这个基本页面继承,而不是从那些aspx页面中的
System.Web.UI.page
。在此之后,您可以从以下任何页面调用函数:
base.MyFunct()

BasePage.cs

public abstract class BasePage : System.Web.UI.Page
{
    protected void MyFunct()
    {
    }
 }
public partial class Page1 : BasePage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        base.MyFunct();
    }
}

public partial class Page2 : BasePage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        base.MyFunct();
    }
}

public partial class Page3 : BasePage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        base.MyFunct();
    }
}
Page1.aspx.cs、Page2.aspx.cs、Page3.aspx.cs

public abstract class BasePage : System.Web.UI.Page
{
    protected void MyFunct()
    {
    }
 }
public partial class Page1 : BasePage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        base.MyFunct();
    }
}

public partial class Page2 : BasePage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        base.MyFunct();
    }
}

public partial class Page3 : BasePage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        base.MyFunct();
    }
}

创建从
System.Web.UI.Page
继承的基类。在那里定义你的函数。然后从这个基本页面继承,而不是从那些aspx页面中的
System.Web.UI.page
。在此之后,您可以从以下任何页面调用函数:
base.MyFunct()

BasePage.cs

public abstract class BasePage : System.Web.UI.Page
{
    protected void MyFunct()
    {
    }
 }
public partial class Page1 : BasePage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        base.MyFunct();
    }
}

public partial class Page2 : BasePage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        base.MyFunct();
    }
}

public partial class Page3 : BasePage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        base.MyFunct();
    }
}
Page1.aspx.cs、Page2.aspx.cs、Page3.aspx.cs

public abstract class BasePage : System.Web.UI.Page
{
    protected void MyFunct()
    {
    }
 }
public partial class Page1 : BasePage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        base.MyFunct();
    }
}

public partial class Page2 : BasePage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        base.MyFunct();
    }
}

public partial class Page3 : BasePage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        base.MyFunct();
    }
}

将.cs或.vb类文件添加到网站的appCode文件夹中。 在该代码文件中定义函数 例如:

现在在您的aspx代码后面创建一个此类的对象并使用函数

int result = myFunctions.Sum(5,6);

将.cs或.vb类文件添加到网站的appCode文件夹中。 在该代码文件中定义函数 例如:

现在在您的aspx代码后面创建一个此类的对象并使用函数

int result = myFunctions.Sum(5,6);
创建公共类(可选静态)并将您的方法作为公共静态方法添加到该类:

public class Utilities
{
  public static string DoStuff()
  {
    return "hello world";
  }
}
创建公共类(可选静态)并将您的方法作为公共静态方法添加到该类:

public class Utilities
{
  public static string DoStuff()
  {
    return "hello world";
  }
}


定义一个单独的类,其中包含函数,在该类的每个aspx代码后面创建该类的对象,并调用函数定义一个单独的类,其中包含函数,在每个aspx代码中,创建该类的对象并调用函数I将添加基类应为抽象类。这样,您将避免实例化非静态帮助类I将添加基类应为抽象类。这样,您将避免实例化非静态帮助类方法应为静态,因为您没有在实例上使用任何状态。@Servy。对不起,我听不懂你说的话。我已经创建了类的对象?我没有直接访问该函数。对于静态函数,我可以用类名来访问它,比如myFunctions.Sum?我说得对吗?当然,您的代码可以工作,但是您正在创建一个没有字段的类的实例。该函数不需要状态;它的输出完全依赖于它的输入。这些函数应该是静态的。当一个新对象不为您做任何事情时,您将避免创建一个新对象(它有一堆头信息,甚至没有任何状态)object@Servy好的,我将使用静态。谢谢。该方法应该是静态的,因为您没有在实例上使用任何状态。@Servy。对不起,我听不懂你说的话。我已经创建了类的对象?我没有直接访问该函数。对于静态函数,我可以用类名来访问它,比如myFunctions.Sum?我说得对吗?当然,您的代码可以工作,但是您正在创建一个没有字段的类的实例。该函数不需要状态;它的输出完全依赖于它的输入。这些函数应该是静态的。当一个新对象不为您做任何事情时,您将避免创建一个新对象(它有一堆头信息,甚至没有任何状态)object@Servy好的,我将使用静态。谢谢。我试着用你的方法,但没有成功。我在
abc1.aspx
中创建了一个公共类。但是,我无法在
abc2.aspx
@Viktor中使用它。这些类可能位于不同的名称空间中。与其将类添加到某个aspx文件中,不如将该类作为自己的文件添加到项目中(遵循标准约定)。确保每个aspx文件都使用语句为此类所在的名称空间添加一个
。也有可能是您将其作为页面的内部类,这是您不想要的。如果你这样做了,也可以通过将其移动到自己的文件来解决。我尝试使用你的方法,但没有成功。我在
abc1.aspx
中创建了一个公共类。但是,我无法在
abc2.aspx
@Viktor中使用它。这些类可能位于不同的名称空间中。与其将类添加到某个aspx文件中,不如将该类作为自己的文件添加到项目中(遵循标准约定)。确保每个aspx文件都使用
语句为此类所在的名称空间添加一个
。也有可能是您将其作为页面的内部类,这是您不想要的。如果您这样做了,也可以通过将其移动到自己的文件来解决。