2011-05-22 39 views
5

目前我的asp.NET網站項目包含5個.aspx文件。我已經在每個.aspx文件中定義了相同的功能。 我想要的是一種創建我自己的函數庫/文件的方法,我可以在.aspx腳本中包含這些函數。如何在不同的.aspx文件中重複使用相同的函數或創建函數庫?

在搜索解決方案時,我只找到了這個在ASP.NET中動態包含文件它用於在.aspx中動態地包含HTML和客戶端腳本。所以這不是我需要的。

+0

.asp是「經典ASP」,.aspx是ASP.NET,這兩個是你指的哪一個? – 2011-05-22 23:12:55

+0

糟糕,.aspx就是我的意思。 – afaf12 2011-05-22 23:14:26

回答

7

您可以在ASP.NET中非常容易地創建一個庫。

決定命名空間和命名空間下創建新類(通常每個類在一個單獨的文件,但它不執行)

如果您的ASPX文件沒有代碼隱藏我會推薦給它添加,但無論是否存在代碼隱藏,在訪問庫類及其方法之前,都需要確保包含庫文件的名稱空間。

語法包括一個ASPX文件命名空間是:

<%@ Import Namespace="mylibrarynamespace" %> 

在後臺代碼是:

using mylibrarynamespace; 

希望它能幫助。

2

如何使一個基類從你的所有頁面類派生?這似乎是最簡單的方法。

1

只需創建一個.cs文件即可將其放入您的App_Code目錄中。公開你的課程和適當的功能,你很好。

2

有很多方法可以用來在頁面之間共享代碼。這實際上取決於您嘗試實現的功能類型。

下面是一些我過去所遇到:

  1. 使用基頁 - 你可以讓你的aspx頁面從從頁面dervies定製類派生。這樣,你可以調用base.MethodName()。如果您需要訪問私有/受保護的成員/事件,這特別有用。
  2. 將方法放入類中 - 您可以創建一個自定義類來存放您的方法。如果所有方法都是相關的,我建議這樣做,並且將它們捆綁在一個類中是有意義的。您的要求也將決定班級是否應該靜態/實例化(對我來說,更像是在System.IO.FileSystem.IO.FileInfo之間進行選擇)。對此,你無法訪問頁面的任何私人成員或者觸發其任何事件。
  3. 擴展方法 - 其類似於#2的類型,除了它的靜態和與Page類型緊密相連。語法使其更具可讀性(在我看來)。但是,您應該考慮某些design guidelines
0

按照這5個簡單易行的步驟!在asp.net web表單之間保存大量的函數重寫操作! 1)在你的App_Data文件夾中創建一個類: (右鍵單擊應用程序>添加>添加ASP。網絡文件夾) (Add> New Item> Class)

重要!當您添加這些類時,您必須將構建操作切換爲「編譯」而不是文件屬性中的「內容」,否則您的代碼隱藏將無法識別導入的命名空間。

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() 
相關問題