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