代码之家  ›  专栏  ›  技术社区  ›  Ryan French

vb.net用户控件不在Live中工作

  •  0
  • Ryan French  · 技术社区  · 15 年前

    在工作中,我们有一个相当大的Web应用程序,它通过有几个页面来工作,在这些页面中嵌套了许多用户控件。这在大多数情况下都可以正常工作,但在某个用户控件不工作的时刻,我们遇到了一个问题。最初它是从解决方案中的另一个项目引用的,但是当这个方法不起作用时,我决定将文件复制到项目中,并尝试在本地注册它。

    它在我们的开发系统上工作,只有当我们将它转移到部署时,它才会停止工作,我认为这是我在构建中缺少的东西。当您转到Live上的页面时,控件将丢失,并且不会生成任何错误。

    如果这有什么区别的话,我们使用的是VS2005。

    2 回复  |  直到 15 年前
        1
  •  0
  •   Jakkwylde    15 年前

    您使用的是Web部署项目吗?如果是这样的话,那么它可能会被下面设置的构建排除所捕获。您应该能够打开您的部署项目文件,并通过查找下面的部分来确认在这里没有找到它。

    <ItemGroup>
        <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\Test\**\*.*"/>
      </ItemGroup>
    

    另外,您使用的是SVN/Visual SVN吗?如果是这样,那么当您将控件复制到新项目时,您可能没有将其添加到源代码管理中,也不会将其发布到存储库中。如果您使用的是Visual SVN,那么这就和右键单击并选择“添加到Subversion”一样简单。

    如果没有更多的信息,这两件事会成为潜在的问题。

        2
  •  0
  •   Ryan French    15 年前

    孩子,这让人难堪。在尝试寻找问题的许多天之后,我在代码中发现了一个基本上说

    If Not FieldSet Then
        lblView.parent.parent.Visible = False
    End If
    

    似乎最初的编码人员的想法是,如果标签应该显示的值没有设置,那么隐藏数据报的那一行。不幸的是,它实际上隐藏了整个数据报。为了解决这个问题,我在HTML中为该行放置了一个ID,然后替换了hide条件,这样如果找不到该值,那么该行将被隐藏。