Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 名称在当前上下文中不存在_C#_Asp.net - Fatal编程技术网

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

C# 名称在当前上下文中不存在,c#,asp.net,C#,Asp.net,所以,我正在我的笔记本电脑和我的台式机之间进行这个项目 该项目在笔记本电脑上运行,但现在已经将更新的源代码复制到桌面上,我在项目中有500多个错误,所有这些错误都是 该名称在当前上下文中不存在 这里有一个例子 Jobs.aspx <%@ Page Title="" Language="C#" MasterPageFile="~/Members/Members.master" AutoEventWireup="true" CodeFile="Jobs.aspx.cs" Inherits="M

所以,我正在我的笔记本电脑和我的台式机之间进行这个项目

该项目在笔记本电脑上运行,但现在已经将更新的源代码复制到桌面上,我在项目中有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>
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;
    }
}
namespace stman.Members{
公共部分职业{
/// 
///upJobs控制。
/// 
/// 
///自动生成的字段。
///将字段声明从设计器文件修改为代码隐藏文件。
/// 
受保护的全局::System.Web.UI.UpdatePanel upJobs;
}
}
我知道这个错误意味着被引用的控件通常不存在或者不是引用它的类的一部分,但就我所见,这里的情况并非如此

有人能提供一些见解吗


Jobs.aspx

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

这是处理页面事件的类->
Inherits=“Members\u Jobs”

Jobs.aspx.cs


这是管理页面事件的partial类->
公共部分类成员\u作业:System.Web.UI.page


partial类的另一部分应该是->
公共部分类成员\u Jobs
这通常是设计器文件

您不需要有分部类,可以在一个类中声明所有控件,而不需要设计器文件

编辑27/09/2013 11:37


如果您仍然对此有问题,我会按照Bharadwaj的建议,删除设计器文件。然后,您可以在解决方案资源管理器中的页面上单击鼠标右键,这里有一个选项,类似于“转换为Web应用程序”,它将重新生成设计器文件

我遇到了元标记的类似问题。在
designer.cs
中,控件定义为:

protected global::System.Web.UI.HtmlControl.HtmlGenericControl metatag;
我必须将定义移到
.aspx.cs
文件中,并定义为:

protected global::System.Web.UI.HtmlControl.HtmlMeta metatag;
“该项目在笔记本电脑上运行,但现在已将更新的源代码复制到桌面上…”

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

我的解决方案是进入项目文件,在那里我发现了如下情况:

<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>

现在看起来是这样的:

<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>

代码
代码

当我重新更改它们时,Visual Studio再次感到高兴。

来自MSDN网站:

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


因此,在块之外声明变量。

以防初学者尝试了上述所有方法,但仍然无法使项目正常工作。检查您的名称空间。在一个实例中,如果您将代码从一个项目复制到另一个项目,并且忘记更改项目的名称空间,那么它也会给您这个错误


希望它能帮助别人。

我通过在我的页面指令下使用导入指令解决了我的问题。您可能还希望将名称空间添加到Page指令的Inherits属性中

由于默认名称空间似乎是“stman.Members”,请尝试:


此外,我希望在aspx.cs和aspx之间传递的数据,我将其放在名称空间内的一个静态类中。该静态类可用于在名称空间中移动数据,并且不再存在“不在上下文中”错误。

我在引用dll文件时在主项目中遇到了此问题

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


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

我也遇到了类似的问题。原因是我在.aspx页面中做了更改,但没有在designer页面中做更改,因此我得到了提到的错误。当在designer页面中创建引用时,我能够构建解决方案。

我也面临类似的问题,问题是表单在文件夹中,文件
.aspx.designer.cs
我的命名空间专门引用了该目录;导致错误出现在多个组件中:

El nombre不存在El contexto实际值

在您的情况下,一个可能的解决方案是保留全局指定的
Members\u Jobs.aspx.designer.cs
文件的名称空间行,即更改此项

namespace stman.Members{

为此

namespace stman{

这就是帮助我解决问题的原因


我希望能有所帮助

当我错误地在母版页的top指令前添加了一些文本时,我也遇到了同样的问题。我的项目中包含的所有页面上的所有控件都开始显示,在当前上下文中不存在。在花了大量时间浏览论坛并进行自我分析后,我发现错误添加的text和删除,但并没有解决问题。然后,我必须单击每个错误打开相关页面,以便VS可以加载该页面并识别它。一旦代码加载到VS中,这些特定页面的错误开始消失,因为VS识别了它。单击每个错误,在VS编辑器中加载每个页面对我来说都是一个好办法您只需执行一次,因为稍后VS会自动识别它。我认为这是Visual Studio的一个小故障。

在我们的例子中,除了将.csproj projet文件上的ToolsVersion从14.0更改为15.0之外,我们还必须安装MSBuild的更新版本,因为编译I