如何在不同的.aspx文件中重用相同的函数或创建函数库?

时间:2011-05-22 23:10:49

标签: c# asp.net

目前我在asp.NET中的网站项目包含5个.aspx文件。我在每个.aspx文件中定义了相同的函数。 我想要的是一种创建自己的函数库/文件的方法,我可以将其包含在我的.aspx脚本中。

在搜索解决方案时,我发现此动态包含ASP.NET中的文件用于在.aspx中动态包含HTML和客户端脚本。所以它不是我需要的。

5 个答案:

答案 0 :(得分:7)

您可以在ASP.NET中轻松创建库。

确定命名空间并在该命名空间下创建新类(通常每个类都在一个单独的文件中但不强制执行)

如果您的ASPX文件没有代码隐藏,我建议添加它,但无论是否有代码隐藏,您都需要确保在访问之前包含库文件的命名空间库类及其方法。

在ASPX文件中包含命名空间的语法是:

<%@ Import Namespace="mylibrarynamespace" %>

在代码隐藏中是:

using mylibrarynamespace;

希望它有所帮助。

答案 1 :(得分:2)

如何创建所有页面类派生的基类?这似乎是最简单的方法。

答案 2 :(得分:2)

您可以采用许多方法在页面之间共享代码。这实际上取决于您尝试实现的功能类型。

以下是我过去遇到过的一些内容:

  1. 使用基页 - 您可以使您的aspx页面派生自一个来自Page的自定义类。这样,您可以调用base.MethodName()。如果您需要访问私有/受保护的成员/事件,这将非常有用。
  2. 将方法放在类中 - 您可以创建一个包含方法的自定义类。如果所有方法都相关,我建议这样做,将它们捆绑在一个类中是有意义的。您的要求还将决定该类是否应该是静态的/实例化的(对我来说,更像是在System.IO.FileSystem.IO.FileInfo之间进行选择)。对此不利的是,您无法访问该页面的任何私人成员或触发其任何活动。
  3. 扩展方法 - 类似于#2,除了它的静态和与页面类型紧密相关。语法使其更具可读性(在我看来)。但是,您应该考虑某些design guidelines

答案 3 :(得分:1)

只需创建一个.cs文件即可将其放入App_Code目录中。让你的课程和适当的功能公开,你很高兴。

答案 4 :(得分:0)

遵循以下5个简单易行的步骤!在asp.net Web表单之间保存大量的函数重写!

1)在App_Data文件夹中创建一个类: (右键单击应用&gt;添加&gt;添加ASP.Net文件夹) (添加&gt; New Item&gt; Class)

重要!当你添加这些类时,你必须将构建操作切换到&#34;编译&#34;而不是&#34;内容&#34;在文件的属性中,否则您的代码隐藏不会识别导入的命名空间。

2)在课堂内创建方法:

namespace applicationName.App_Code
   {
       public class ClassName
           {
               public string classMethod()
                  {
                    return "hello";
                  }
           }
   }

3)在任何表单的代码隐藏中,包含此类标题:

using applicationName.App_Code; //add this

4)在此表单的代码隐藏中,创建类的实例:

ClassName classInstanceName = new ClassName(); //add this

5)在表单代码隐藏

中调用方法
classInstanceName.classMethod()