2015-06-24 138 views
0

我有2個文件。在第一個中,我用一個方法聲明瞭一個靜態類。 說到在第二個文件中調用它,我得到一個錯誤,指出類的名稱在當前上下文中不存在。我認爲我遇到了命名空間方面的問題,這些問題我並不十分熟悉。名稱「###」在當前上下文中不存在

文件1:App_Code文件/ SessionAccess.cs

namespace edpermdb.App_Code 
{ 
    public static class SessionAccess 
    { 
     public static DataTable GetSessions() 
     {...} 

文件2:/default.aspx.cs

namespace edpermdb 
    { 
    public partial class _default : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      liste.DataSource = SessionAccess.GetSessions(); 
      //on relie la liste à la source de données 
      liste.DataBind(); 

SessionAccess在默認頁面無法識別。

回答

0

變化中,你把SessionAccess到相同的命名空間_default類的命名空間:

namespace edpermdb 
{ 
    public static class SessionAccess 
    { 
     public static DataTable GetSessions() 
     {...} 

如果這是不可能的,在第二個文件的頂部添加using edpermdb.App_Code

+0

我改變了,以便我可以使用相同的命名空間。但我仍然有錯誤。當我去上課的時候。對於2個命名空間,我有相同的名稱「edpermdb」,但其中包含不同的文件。第一個僅包含default.aspx.cs et,第二個是其餘的文件。 – djasy3

0

您已經在命名空間edpermdb.App_Code中定義了您的類,並且您正試圖在不同的命名空間中使用它。在使用前指定using edpermdb.App_Code;,或者右鍵單擊班級名稱並從上下文菜單中選擇Resolve

using edpermdb.App_Code; //here 
namespace edpermdb 
    { 
    public partial class _default : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      liste.DataSource = SessionAccess.GetSessions(); 
      //on relie la liste à la source de données 
      liste.DataBind(); 
+0

我試圖放置該行,但App_code不存在於名稱空間中。那就是它說的。 – djasy3

+0

@ djasy3,嘗試註釋掉page_load事件中的行,編譯您的Web應用程序,並取消註釋這些行,查看錯誤是否消失。 – Habib

+0

我做到了,但是當我取消註釋時,錯誤仍然存​​在。 我不明白爲什麼,當我進入類瀏覽器時,它給了我2個相同的名稱空間,但是其中包含不同的文件。 – djasy3

相關問題