2010-01-18 93 views
1

我有一個頁面,Default.aspx的,有它自己的代碼隱藏文件這樣的對象:訪問頁面創建從一個類

using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Web; 
    using System.Web.UI; 
    using System.Web.UI.WebControls; 

    public partial class _Default : System.Web.UI.Page 
    { 
     public int[] anArray; 
... 
    } 

我想要做的是獲得「 anArray「來自在\ App_Code文件夾中聲明的C#類(不綁定到頁面)。我能做什麼?

謝謝。

編輯:如第一條評論所述,我真的讚賞你對重構我的連接對象的建議。但是,我真正在做的是重寫一箇舊的PHP應用程序,以便適應基本的C#和ASP.NET,所以這段代碼永遠不會真正活着。所以,我仍然用一種方式(如果有的話)訪問一個標準C#類中的代碼隱藏代碼中聲明的對象。

Edit2:我刪除了OdbcConnection對象以便專注於真正的問題:如何引用位於\ App_Code中的C#類的隱藏在代碼隱藏文件中的對象?

+0

它已經以你寫的方式訪問過。但總的來說,你會使用私人領域並提供公共財產。 – fearofawhackplanet 2010-01-18 19:00:48

回答

-1

問題是你正在向APP_Code文件夾中添加類。通常,這些不是與網站一起編譯的,而是被編譯到他們自己的dll中,這個dll被網站dll所引用。

一般來說,我做什麼,因爲我討厭那個小警告,就是在名爲Code的Website項目中創建一個文件夾,並使用它代替App_Code文件夾。

出於好奇,你使用的是什麼版本的Visual Studio?

+0

Visual Studio Express 2008 – 2010-01-18 19:25:41

+0

快遞,啊那就是爲什麼:) – TJMonk15 2010-01-18 20:11:48

0

該連接屬性將可以訪問如

_Default.connection 

從你的類。

正如一旁,這似乎不是一個好方法。使用靜態連接對象存在問題 - 您將遇到線程問題,並且它似乎是一個實際聲明連接的不好的地方。你可能想考慮將你的連接對象重構爲一個實際的類,讓你的頁面訪問它,而不是其他的方式。

+0

看來我錯過了一些東西,然後,因爲我得到一個錯誤:「_Default在當前上下文中不存在」。當然,我想到了這個解決方案,但正如所說的那樣,它給了我一個錯誤。 我並不關心你告訴我的問題,因爲我在這裏所做的只是重寫一箇舊的PHP應用程序,以便更好地使用該語言:無論如何這都不會生效。 – 2010-01-18 19:02:37

0

我與womp。此外,OdbcConnection實施IDisposable。將其變爲靜態並公開可用,可以使其清理成一場噩夢。

0

它的一個壞主意使用靜態連接對象。

您會定期失去連接,並且很難調試。

而是查看企業庫數據訪問塊並利用自動連接池。這將是您可以在數據庫性能方面做出的最大改變。

它非常易於使用,並且會調用存儲過程等,讓你更容易,同時提供更好的性能。

查看此鏈接瞭解更多關於using the Data Access Block of the Enterprise Library的信息。

這裏是another link這將幫助你開始。這裏是a link to the download page