在另一个aspx.cs类中引用一个aspx.cs类?

时间:2010-08-29 04:34:45

标签: c# asp.net class

有谁知道如何在另一个aspx页面中重用一个aspx.cs类的代码?

5 个答案:

答案 0 :(得分:1)

这一切都取决于你最终在做什么,但一种选择是在App_Code文件夹中构建一个可重复使用的类,并在整个站点中使用它。

答案 1 :(得分:1)

理想情况下,您应该将可重用的方法放在单独的cs文件中的单独类中。

但你要求的也很容易,这是一个例子:

<强> Page1.aspx.cs

 public partial class MyPage1: System.Web.UI.Page
    {

        public static void MyTestFunction()
        {
            //Code Here           

        }

        public void MyTestFunction2()
        {
            //Code Here
        }
}

<强> Page2.aspx.cs

    public partial class MyPage2: System.Web.UI.Page
    {

        protected void Page_Load(object sender, EventArgs e)
        {
           MyPage1.MyTestFunction();  // static function call

           //or

           MyPage1 page1 = new MyPage1();
           page1.MyTestFunction2();           


        }

      }

答案 2 :(得分:1)

ASP.NET中有几种可供重用的选项:

  • 母版页
  • 用户控件
  • 复合控件
  • 创建一个自定义类,该类继承自Page类,并使您的页面继承自该自定义类
  • 创建一个帮助程序类,该类具有可在您的不同网络表单中使用的可重用方法

答案 3 :(得分:0)

在多个页面中重用代码应该在所提到的单独的类中完成,或者使用其他机制(如母版页等)来完成。尝试从多个aspx页面调用代码而不使用后端类是有风险的,因为它会使升级成为现实随着时间的推移,您的应用程序更加脆弱,难以维护。 ASPX页面等前端页面应该只包含自己独立的代码隐藏。他们不应该引用另一个ASPX页面。更好的模型是在GUI层之前设置对象模型,然后从各个页面调用对象模型。这样,页面代码只负责它自己的本地页面元素,并且跨页面所需的任何业务逻辑都存放在其他地方。同样,如果您需要共享UI逻辑,请使用类似于旧式包含文件,母版页或用户控件的内容,这些内容在共享时非常有用,并且可以分离出每个部分的关注点(关注点分离原则是非常重要,如果做得好,可以帮助您的应用程序保持干净,以后轻松升级!)

答案 4 :(得分:0)