2013-09-26 48 views
32

所以,我正在使用筆記本電腦和桌面之間的這個項目。名稱在當前上下文中不存在

項目工程上的筆記本電腦,但現在已經複製了更新的源代碼到桌面上,我有超過500錯誤的項目,所有的人都...

的名稱不存在在目前情況下

下面是一個例子...

Jobs.aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/Members/Members.master" AutoEventWireup="true" CodeFile="Jobs.aspx.cs" Inherits="Members_Jobs" %> 

<%@ Register Namespace="AjaxControlToolkit" Assembly="AjaxControlToolkit" TagPrefix="aj" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
    <asp:UpdatePanel runat="server" ID="upJobs"> 
     <ContentTemplate> 
      <!-- page content goes here --> 
     </ContentTemplate> 
    </asp:UpdatePanel> 
</asp:Content> 

Jobs.aspx.cs

public partial class Members_Jobs : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      loadJobs(); 
      gvItems.Visible = false; 
      loadComplexes(); 
      loadBusinesses(); 
      loadSubcontractors(); 
      loadInsurers(); 

      pnlCallback.Visible = false; 
      pnlInsurer.Visible = false; 
     } 
    } 

    // more goes down here 
} 

這裏的designer.cs文件的樣本...

namespace stman.Members { 


    public partial class Jobs { 

     /// <summary> 
     /// upJobs control. 
     /// </summary> 
     /// <remarks> 
     /// Auto-generated field. 
     /// To modify move field declaration from designer file to code-behind file. 
     /// </remarks> 
     protected global::System.Web.UI.UpdatePanel upJobs; 
    } 
} 

我知道這個錯誤意味着控制被引用一般沒有按」不存在或不是引用它的類的一部分,但據我所知,情況並非如此。

任何人都可以提供一些見解?

VS2012 Screenshot

+0

您是否在designer.cs文件中看到實例變量? – Serge

+0

點實際上,我不......只是定義頁面上的所有控件 – Ortund

+1

您將有一個Designer.cs文件。刪除它並重新生成。 – Bharadwaj

回答

10

Jobs.aspx

這是phyiscal文件 - >CodeFile="Jobs.aspx.cs"

這是處理頁面的事件類 - >Inherits="Members_Jobs"

喬布斯.aspx.cs

這是管理頁面中的事件部分類 - >public partial class Members_Jobs : System.Web.UI.Page

部分類的其他部分應該是 - >public partial class Members_Jobs這通常是設計文件。

你不需要有部分類,並且可以在1個類中聲明你的控件,並且沒有設計器文件。

編輯 27/09/2013 11:37

,如果你仍然有這個作爲巴拉德瓦建議我會做和刪除文件設計師的問題。然後,您可以在解決方案資源管理器中右鍵單擊該頁面,並且有一個選項,如「轉換爲Web應用程序」,這將重新生成您的設計器文件。

+0

我明白這一切,但問題仍然存在。請參閱我的更新後的問題,並附上代碼文件和設計師並排的屏幕截圖 – Ortund

+0

Thanks Squirrel!我不確定如何重新生成設計器文件...你能解釋爲什麼這應該是必要的嗎?我的意思是......這個項目發生了什麼事? – Ortund

+0

@說實話我不知道......如果一切都被正確引用,並且所有的控件都存在,那麼它應該可以工作...... –

2

我遇到了類似的元標記問題。在designer.cs,控制被定義爲:

protected global::System.Web.UI.HtmlControl.HtmlGenericControl metatag; 

我不得不定義移動到.aspx.cs文件並定義爲:

protected global::System.Web.UI.HtmlControl.HtmlMeta metatag; 
2

「項目工程上的筆記本電腦,但現在複製了更新的源代碼到桌面上......」

我做了類似的事情,之間創建一個項目的兩個版本,並複製文件他們。它給了我同樣的錯誤。

我的解決辦法是去到項目文件中,在這裏我發現了什麼是這樣的:

<Compile Include="App_Code\Common\Pair.cs" /> 
<Compile Include="App_Code\Common\QueryCommand.cs" /> 

現在這個樣子:

<Content Include="App_Code\Common\Pair.cs"> 
    <SubType>Code</SubType> 
</Content> 
<Content Include="App_Code\Common\QueryCommand.cs"> 
    <SubType>Code</SubType> 
</Content> 

當我改回來,視覺工作室又開心了。

+0

是的!只有你應該提到的是,如果你單擊解決方案資源管理器中的類文件並獲取它們的屬性,你可以簡單地將「Build Action」更改爲「Compile」,它將執行同樣的操作。當我創建一個App_Code文件夾並在我的代碼中傾倒時,這非常棒,幫助了我,並且無法弄清楚它爲什麼不拾取這些類。 – vapcguy

2

從MSDN網站:

此錯誤,如果你聲明在一個循環或變量的 嘗試或者塊,然後嘗試從一個封閉的代碼 塊或單獨的代碼訪問頻繁發生塊。

因此,聲明塊外的變量。

6

如果有人是初學者嘗試上述所有方法,但仍然無法使項目正常工作。檢查你的名字空間。在您將代碼從一個項目複製到另一個項目並且忘記更改項目名稱空間的情況下,它也會給你這個錯誤。

希望它可以幫助別人。

0

我在我的Page指令下使用Import指令解決了我的問題。您可能還想將名稱空間添加到Page指令的Inherits屬性中。

由於看來您的默認命名空間是「stman.Members」,嘗試: <%@ Page Title="" Language="C#" MasterPageFile="~/Members/Members.master" AutoEventWireup="true" CodeFile="Jobs.aspx.cs" Inherits="stman.Members.Members_Jobs" %> <%@ Import Namespace="stman.Members"%>

此外,我想aspx.cs和ASPX之間傳遞數據,我把一個靜態類裏面的命名空間中。該靜態類可用於在名稱空間中移動數據,並且不再具有「不在上下文中」的錯誤。

0

當我參考一個dll文件時,我在我的主項目中遇到了這個問題。

問題是引用dll的主要項目是針對比dll更低的框架版本。

所以我提高了我的目標框架版本(右鍵單擊項目 - >應用程序 - >目標框架),錯誤消失。

相關問題