ASP.NET controls cannot be referenced in code-behind in Visual Studio 2008好吧,我的视觉工作室坏了。我说这不是过早的,因为这是我第一次看到我的代码混乱的地方。当我将控件添加到页面时,无法在后面的代码中引用所有控件。我可以使用其中的一些,似乎我放在页面上的前几幅,然后停了下来。 我最初认为这可能是控件的类型,因为最初我试图在更新面板中引用中继器。我知道我正确地引用了我的aspx页面中的代码。但是,以防万一这是我的麻烦,我开始从头开始重新创建页面,这次在VS停止识别我的控件之前,又放下了一些控件。 在两次创建页面并陷入困境之后,我想也许它仍然是控件的类型。我创建了一个新页面,并在上面添加了一些标签。没有骰子,当从后面的代码中引用控件时,构建将失败。 在一个可能不相关的注释中,当我切换到aspx页面的可怕的"设计"模式时,VS 2008出错并重新启动。 我已经给微软开了麻烦票。我卸载了所有加载项,重新安装了Visual Studio。 任何想看我的代码的人都会问,但是我使用的是所见即所得的可视化工作室" new aspx page",一点也不花哨。 我怀疑有人遇到过这个问题,但是你呢? 有没有人在使用Microsoft拍摄这些东西时遇到麻烦?有什么方法可以加快这张票而无需付费吗???几天来,我一直在与Microsoft代表谈话,但还没有走运,我已经死在水里了。 乔恩·林贾普(Jon Limjap):我对标题进行了编辑,以使其既清晰又具有描述性,并确保没有人将其视为令人反感。尽管您的问题显然是有效的问题,但" Foo-barred"并不能完全构成正确的问题标题。
上面的修复(删除临时文件)对我不起作用。我必须删除 当Visual Studio尝试重建设计器文件时,它遇到了问题(并向我透露了)。以我为例,VS丢失了对页面上控件之一所需的DLL的引用,因此我必须清除项目中生成的bin文件夹。 尝试清除您的本地VS缓存。找到您的项目并删除文件夹。该文件夹是由VS创建的,出于什么原因我实在不明白。但是我有好几次清除它并重新构建可以解决问题的方法……希望这也是您所需要的。 这里
可能在这里
您要引用的控件是否在转发器内部? 如果是这样,则需要使用FindControl方法进行查找。 例如:
您需要执行以下操作才能引用它:
就我而言,我正在使用一些旧的网站代码,然后将其转换为VS2008解决方案。我遇到了同样的问题。
对我来说,解决方法是在解决方案资源管理器中右键单击"网站"项目,然后选择"转换为Web应用程序"。这为所有页面创建了 我观察到发生这种情况是由于缺少.designer.cs文件。在我的情况下解决了此问题(基本上是将这些文件从VS 2005 Web项目复制到VS 2010项目):右键单击.aspx文件,然后选择菜单"转换为网站",这将创建.designer.cs文件,并那么它应该工作文件。
您还将找到可以安全删除的.net临时文件: 就我而言,没有检测到我添加到现有的新ASP控件。
对我有用的是通过重命名现有控件以破坏构建来强制重新编译,例如:将 当我更正ID并重建时,使用更正的ID和新控件生成了一个新的设计器文件。
如果源页面上的 例:
类背后的代码:
右键单击项目名称,然后选择"清理"。然后,检查您的bin文件夹中是否还有任何dll。如果是这样,请将其删除。而已。只是重建,一切都会正常。 我们无法在应用程序运行时更改代码。为此,请先单击顶部的停止按钮,这将停止您的应用程序。现在在设计模式下单击该按钮,它将代码插入.aspx.cs文件中, 然后在其中编写代码 遇到该问题后,请检查您的aspx文件是否有错误 我曾经发生过几次,今天又因为新的原因再次发生。我通常通过IIS运行项目,但需要在本地运行它进行调试。我通常在IIS的80端口上运行,在调试时在81端口上运行,但是我在使用80的web.config中进行了一些设置,因此我只是在IIS中杀死了该站点,并在项目设置中将该网站切换为80端口。无论出于何种原因,这都弄乱了一切,并造成了OP中描述的问题。我开始一一尝试,包括这里提到的所有建议,但是最终在项目设置中将端口切换回81。 只是为了解决这个问题再加我两分钱。 上面所有对我有用的东西是"清理",然后删除bin文件夹中的所有内容。重建,然后所有控件开始工作。 仅供参考...我也遇到了这个问题,最后我通过删除现有的.designer.vb文件,右键单击该项目并选择"转换为Web应用程序"来解决此问题。然后显示真正的"错误",导致GUI自行废弃。原来,我为其他2个标签使用了相同的名称,但未在错误列表窗口中显示。一旦我重命名了其他两个标签之一,它就可以正常工作并不再给我带来麻烦。 您必须添加
页面中的每个元素。 对我而言,删除/重新命名以下位置的文件有效:
|