代码之家  ›  专栏  ›  技术社区  ›  zer0w1dthspace

代码隐藏无法引用页控件

  •  2
  • zer0w1dthspace  · 技术社区  · 15 年前

    我在ascx文件中有控件,但在.cs文件中看不到intellisense中的控件。它以前工作得很好。

    我可以在designer.cs文件中看到控件名。

    我已经删除了AppData文件夹中的ASP.NET临时文件,但仍然不起作用。应用程序中的其他用户控件文件可以同时引用它的页面控件。这里有什么问题? 我使用VS2008。

    4 回复  |  直到 12 年前
        1
  •  5
  •   Nick    15 年前

    查看.ascx页面的顶行并检查 Inherits= 并确保它具有适合您的代码隐藏的正确的namespace.class。例如,如果您的命名空间是 ProjectNamespace 你的控制课是 MyControl 那么应该是 ProjectNamespace.MyControl . 如果重命名了ascx文件等并导致此类问题,则可能会失去同步。

        2
  •  2
  •   Ric    12 年前

    每次我将用户控件从一个项目复制到另一个项目时,都会发生这种情况。ascx和代码隐藏中断之间的连接。 这个解决方案很冗长,但解决了这个问题:

    1. 创建新的用户控件。Visual Studio将正确地将ascx文件连接到ascx.vb文件。

    2. 将原始控件中的ascx和vb代码复制到新控件中。

    3. 删除原始控件。

    4. 您现在有一个工作控件,但它的名称不同。

    5. 如果保留原始控件的名称很重要,请再次重复整个过程,并将第二个控件复制到具有正确名称的第三个控件。

    6. 写信给微软,要求他们停止添加我们不需要的铃声和口哨,并解决基本问题!

        3
  •  1
  •   dsteele    15 年前

    我只是根据我的情况解决了这个问题:在.aspx文件的页面参数中,“codefile”参数指向文件名:“labedit.aspx.cs”。它应该指向路径:“~/wopages/labedit.aspx.cs”。我知道我没有移动代码文件或页面文件,所以这可能是VS2008的问题。

        4
  •  -2
  •   zer0w1dthspace    15 年前

    我已经解决了这个问题,我已经卸载并重新安装了VS2008,并且解决了这个问题。