簡體   English   中英

在另一個aspx.cs類中引用一個aspx.cs類?

[英]referencing one aspx.cs class in another aspx.cs class?

有誰知道如何重用另一個aspx頁面中一個aspx.cs類中的代碼?

這完全取決於您最終要做什么,但是一種選擇是在App_Code文件夾中構建一個可重用的類,並在整個站點中使用它。

理想情況下,您應該將可重用的方法放在單獨的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();           


        }

      }

在ASP.NET中有多種重用選項:

  • 母版頁
  • 用戶控件
  • 復合控件
  • 創建一個繼承自Page類的自定義類,並使您的頁面繼承自該自定義類
  • 創建一個具有可重用方法的幫助程序類,您可以在不同的Web窗體中使用該方法

如前所述,應在單獨的類中或在使用其他機制(例如母版頁等)的情況下,在多個頁面中重用代碼。嘗試進行多個aspx頁面中的代碼而不使用后端類存在升級的風險,因為這樣做會使您的應用更多隨着時間的推移變脆並且難以維護。 前端頁面(例如ASPX頁面)應僅在背后包含自己的獨立代碼。 他們不應引用另一個ASPX頁面。 更好的模型是在GUI層之前建立對象模型,然后從各個頁面調用該對象模型。 這樣,頁面代碼僅對其自身的本地頁面元素負責,並且頁面之間所需的任何業務邏輯都位於其他位置。 同樣,如果您需要共享UI邏輯,請使用舊的包含文件,母版頁或用戶控件之類的東西,它們在共享以及分離每個部分的關注點時非常有用(關注點分離原則是非常重要,如果操作正確,可以幫助您保持應用的清潔度,並在以后輕松升級!)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM