名称在当前上下文中不存在

Ort*_*und 45 c# asp.net

所以,我正在我的笔记本电脑和桌面之间进行这个项目.

该项目在笔记本电脑上运行,但现在已将更新后的源代码复制到桌面上,我在项目中有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>
Run Code Online (Sandbox Code Playgroud)

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
}
Run Code Online (Sandbox Code Playgroud)

这是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;
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道这个错误意味着被引用的控件通常不存在或者不是引用它的类的一部分,但据我所知,这不是这种情况.

谁能提供一些见解?

VS2012截图

Sec*_*rel 13

Jobs.aspx

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

这是处理页面事件的类 - > Inherits="Members_Jobs"

Jobs.aspx.cs

这是管理页面事件的部分类 - >public partial class Members_Jobs : System.Web.UI.Page

分部类的另一部分应该是 - > public partial class Members_Jobs这通常是设计器文件.

你不需要有部分类,并且可以在1个类中声明你的控件而没有设计器文件.

编辑 27/09/2013 11:37

如果你仍然遇到问题,我会按照Bharadwaj建议并删除设计器文件.然后,您可以右键单击解决方案资源管理器中的页面,并且有一个选项,例如"转换为Web应用程序",它将重新生成您的设计器文件


The*_*Man 13

如果某人是初学者,他尝试了上述所有内容,但仍无法让项目得以运作.检查命名空间.在将代码从一个项目复制到另一个项目而忘记更改项目名称空间的情况下,它也会给您带来此错误.

希望它可以帮助某人.


Tom*_*try 6

“该项目在笔记本电脑上运行,但现在已将更新的源代码复制到桌面上......”

我做了类似的事情,创建了一个项目的两个版本并在它们之间复制文件。它给了我同样的错误。

我的解决方案是进入项目文件,在那里我发现看起来像这样:

<Compile Include="App_Code\Common\Pair.cs" />
<Compile Include="App_Code\Common\QueryCommand.cs" />
Run Code Online (Sandbox Code Playgroud)

现在看起来像这样:

<Content Include="App_Code\Common\Pair.cs">
  <SubType>Code</SubType>
</Content>
<Content Include="App_Code\Common\QueryCommand.cs">
  <SubType>Code</SubType>
</Content>
Run Code Online (Sandbox Code Playgroud)

当我把它们改回来时,Visual Studio 又高兴起来了。


小智 6

从 MSDN 网站:

如果您在循环或 try 或 if 块中声明变量,然后尝试从封闭的代码块或单独的代码块访问它,则经常发生此错误。

所以在块外声明变量。


tno*_*007 5

当我引用 dll 文件时,我的主项目中遇到了这个问题。

问题在于引用该 dll 的主项目的目标框架版本低于该 dll 的框架版本。

因此,我提高了目标框架版本(右键单击项目 -> 应用程序 -> 目标框架),错误消失了。