我在ascx文件中有控件,但我无法在.cs文件中的intellisense中看到它们。之前工作得很好。
我可以在designer.cs文件中看到控件名称。
我已经删除了AppData文件夹中的Asp.net临时文件,但仍然无法正常工作。应用程序中的其他用户控件文件可以直接引用它的页面控件。这里有什么问题 ? 我使用VS2008。
答案 0 :(得分:5)
查看.ascx页面的顶行并查看Inherits=
的值,并确保它具有适合您的代码隐藏的正确namespace.class。例如,如果您的命名空间为ProjectNamespace
且您的控件类为MyControl
,则它应为ProjectNamespace.MyControl
。如果您重命名ascx文件等,这可能会失去同步并导致此类问题。
答案 1 :(得分:2)
每次将用户控件从一个项目复制到另一个项目时,都会发生这种情况。 ascx和代码隐藏之间的连接中断。 这个解决方案很乏味但它解决了这个问题:
创建新的用户控件。 Visual Studio将ascx文件正确连接到ascx.vb文件。
将原始控件中的ascx和vb代码复制到新控件中。
删除原始控件。
您现在有一个工作控件,但它有一个不同的名称。
如果保留原始控件的名称很重要,请重复整个过程并将第二个控件复制到第三个控件,并使用正确的名称。
写信给微软,要求他们停止添加我们不需要的铃声和口哨,并修复基本内容!
答案 2 :(得分:1)
我只是想出了我的情况:在.aspx文件的Page参数中,'Codefile'参数指向文件名:'LabEdit.aspx.cs'。应该指向路径:“〜/ WOPages / LabEdit.aspx.cs”。我知道我没有移动代码文件或页面文件,所以这可能是VS2008的问题
答案 3 :(得分:-2)
我已经解决了这个问题,我已经卸载并重新安装了VS2008并且它已经解决了。