C# .aspx中的控件在.aspx.cs中不可见,您以前见过吗?

C# .aspx中的控件在.aspx.cs中不可见,您以前见过吗?,c#,asp.net,visual-studio,C#,Asp.net,Visual Studio,您是否曾体验过.aspx中定义的控件在.aspx.cs中不可见?i、 当你编译时,它说你的标签或文字等还没有被声明 这是vs.net中的错误吗 这就是我所做的,我用同一个文件创建了一个新文件夹,复制了.aspx内容和codebehind,然后在新文件中更改了对旧文件的引用(如aspx中的名称空间、codebehind引用等) 我在.aspx和.aspx.cs上都使用了beyond compare,以确保我更改了所有内容,但当我编译时,会出现大约25个错误 这对我来说毫无意义,啊 (使用vs.ne

您是否曾体验过.aspx中定义的控件在.aspx.cs中不可见?i、 当你编译时,它说你的标签或文字等还没有被声明

这是vs.net中的错误吗

这就是我所做的,我用同一个文件创建了一个新文件夹,复制了.aspx内容和codebehind,然后在新文件中更改了对旧文件的引用(如aspx中的名称空间、codebehind引用等)

我在.aspx和.aspx.cs上都使用了beyond compare,以确保我更改了所有内容,但当我编译时,会出现大约25个错误

这对我来说毫无意义,啊


(使用vs.net 2008)

我以前见过这一点,但只有intellisense没有注意到这一点。编译器仍然能识别一切。您是否确保将
runat=“server”
放在您的aspx页面中?

我以前见过这种情况,但只有intellisense没有将其选中。编译器仍然能识别一切。您是否确保将
runat=“server”
放在您的aspx页面中?

是否可以检查设计器文件以查看控件是否在其中定义了其类型?如果没有,我将使用此技术再次自动生成:

  • 在源代码视图中,使用控件剪切标记
  • 转到“设计”视图并在那里粘贴复制的标记
  • 重新构建项目
通常情况下,我会重新生成设计器文件,然后在代码隐藏中使用控件


Grz,Kris.

你能检查一下设计器文件,看看控件是否是用它们的类型定义的吗?如果没有,我将使用此技术再次自动生成:

  • 在源代码视图中,使用控件剪切标记
  • 转到“设计”视图并在那里粘贴复制的标记
  • 重新构建项目
通常情况下,我会重新生成设计器文件,然后在代码隐藏中使用控件


Grz,Kris.

切换到设计或拆分模式,进行一些小的更改(例如在某处键入空格),然后保存。这将重新生成丢失的designer.cs文件

更改为设计或拆分模式,进行小更改(例如在某处键入空格),然后保存。这将重新生成丢失的designer.cs文件

我不确定这是否是您的原因,但我已经导致这种情况发生了几次,主要是通过在网站在我的开发服务器上运行时添加服务器控件,以及使用自定义控件

由于在站点运行时aspx.designer.cs文件是只读的,因此无法添加控件的设计代码


我的首选解决方案是删除设计器文件,右键单击aspx文件,然后单击“转换为Web应用程序”。

我不确定这是否是您的原因,但我已经导致这种情况发生了几次,主要是通过在网站在我的开发服务器上运行时添加服务器控件,以及使用自定义控件

由于在站点运行时aspx.designer.cs文件是只读的,因此无法添加控件的设计代码


我的首选解决方案是删除设计器文件,右键单击aspx文件,然后单击“转换为Web应用程序”。

您的项目中是否有一个与该文件名相同的文件夹?

您的项目中是否有一个与该文件名相同的文件夹?

当我将一个文件夹复制到另一个文件夹和.aspx标记时,我已经这样做了

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MarkPage.aspx.cs"
    Inherits="Web.Apps.MyPrototype.MarkPage" %>

当我将一个复制到另一个和.aspx标记时,我就这样做了

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MarkPage.aspx.cs"
    Inherits="Web.Apps.MyPrototype.MarkPage" %>

你确定你的名字空格是正确的吗?是否在.cs文件中显式声明命名空间

尝试删除显式命名空间声明

另外,确保分部类声明是正确的——如果您发布了一些关于错误消息的想法,这可能会有所帮助,因为其中可能有线索


最后,我看到过控件因与某些“特殊”名称(全局、本地等)冲突而出错的情况,尽管我认为自VS2005以来从未见过这种情况。

您确定您的名称空间是正确的吗?是否在.cs文件中显式声明命名空间

尝试删除显式命名空间声明

另外,确保分部类声明是正确的——如果您发布了一些关于错误消息的想法,这可能会有所帮助,因为其中可能有线索


最后,我看到过由于与某些“特殊”名称(全局、本地等)冲突而导致控件出错的情况,尽管我认为自VS2005以来从未见过这种情况。

检查设计器文件,看看是否在其中声明了它?哦,还要确保设计器文件与.aspx.cs文件具有相同的命名空间。好的,我没有设计器文件,但原始的也没有。控件是否有
runat=“server”
?是的,设计器文件是控件实际声明的位置。它是aspx和codebehind之间的桥梁。在早期(VS2003),声明位于.aspx.cs文件的一个区域中,但幸运的是,Microsoft将它们拆分为一个单独的(.designer)文件,以使内容更清晰。请检查designer文件,看看它是否在其中声明?哦,还要确保设计器文件与.aspx.cs文件具有相同的命名空间。好的,我没有设计器文件,但原始的也没有。控件是否有
runat=“server”
?是的,设计器文件是控件实际声明的位置。它是aspx和codebehind之间的桥梁。在早期(VS2003),声明位于.aspx.cs文件中的一个区域中,但幸好Microsoft将它们拆分为一个单独的(.designer)文件,以使事情更干净。我使用beyond compare工具对文件进行了比较,因此除了名称空间差异等之外,它完全相同。我使用beyond compare工具对文件进行了比较,所以它是exa