【问题标题】:Code Behind No Longer finds ID tags代码隐藏不再找到 ID 标签
【发布时间】:2015-03-12 17:36:55
【问题描述】:

我已经在网站上工作了几个月,并且快到最后期限了。我知道我的方法有点过时了。特别是考虑到我仍然使用表格。实际上,我已经朝着远离那个方向的方向发展,但是这个项目是由一个 excel 电子表格生成的,并且有 200 多个字段,这似乎是合理的,我正在为其创建这个的人很高兴看到这个游戏。

尽管如此,我遇到了一个问题,我为 asp TableCell 声明了一个 id,并试图为其分配文本。在过去,这已经奏效。从字面上看,我构建的每个其他页面都能够接受此代码。

最初我有一个名为“depthSingleUnit”的文本框。随着新数据的出现,我意识到我可以将深度、高度和宽度信息合并到一个单元格中。而且因为我不希望用户再编辑这些数据,只查看已经可用的信息,所以我放弃了使用文本框的想法,只使用表格单元来显示信息。

tablecell 现在有一个 id “dimensionsSingleUnit”

<asp:TableCell columnspan="1" id="dimensionsSingleUnit"></asp:TableCell>

后面的代码是这样的

dimensionsSingleUnit.Text = PONDS.Tables(0).Rows(0).Item("ProductDimensions")

但我得到了错误

Error   3   'dimensionsSingleUnit' is not declared. It may be inaccessible due to its protection level. C:\Users\aking\My. Documents\Visual Studio 2012\Projects\lampSpecs\lampSpecs\Factories\view.aspx.vb 289 4   lampSpecs

我在这里遗漏了什么吗?我试过改变身份证。我尝试创建一个具有相同名称的新 tableCell。尝试创建一个具有不同名称的新 tableCell。我尝试创建一个新文件,但仍然有同样的问题。我已经尝试重新构建该项目。我从字面上将 id 复制并粘贴到我后面的代码中,但这不起作用。

当我为数据使用多个单元格时的旧 ID 仍然可用,但我添加的所有新 ID 都不会在智能感知中显示并显示错误。

【问题讨论】:

  • 要从后面的代码中访问元素,您需要一个 runat="server" 参数
  • 认真的吗?我的其他 asp:TableCell 元素在标签中都没有 runat="Server" ,它们仍然可以与代码隐藏一起使用。我有 runat="Server 用于我的 asp:Table 标记。让我尝试一下并回复您。
  • 我已将 runat="server" 属性添加到 tablecell,但错误仍然存​​在。
  • 你能试试 dimensionsSingleUnit.InnerHtml = PONDS.Tables(0).Rows(0).Item("ProductDimentiond")... 我没有以这种方式处理表格单元格通常使用网格视图或中继器。表格元素的 runat="server" 可能就足够了......但通常您需要它才能从代码中访问 html 元素。

标签: asp.net vb.net visual-studio-2012


【解决方案1】:

您需要将 runat="server" 添加到您的 html 元素中才能从代码页访问它。因为只有 runat="server" 在页面后面的代码上可用

【讨论】:

    【解决方案2】:

    抱歉,本意是作为答案添加......

    试试

    dimensionsSingleUnit.InnerHtml = PONDS.Tables(0).Rows(0).Item("ProductDimentiond")
    

    我没有以这种方式处理表格单元格,通常使用网格视图或中继器。表元素的 runat="server" 可能就足够了......但通常您需要它才能从代码中访问任何 html 元素

    【讨论】:

    • 我试试看。不幸的是,一切都不是现在。我发现上周这个项目被交给了其他人来完成,因为那个人比我有更多的时间来编码。我从未被告知。 叹息
    • 不。问题是我背后的代码无法识别具有该 ID / 名称的任何内容。我是否在标签中有 runat=server 也没关系。 Intellisense 不填充名称。在过去,我上面描述的编码方法根本没有问题。不过,我不知道这是否重要,因为正如我在之前的评论中所说,这个项目上周在我不知情的情况下被传递给了某个人。他将项目带向了不同的方向,并且很可能从头开始,因为他更喜欢用 c# 编写代码。
    猜你喜欢
    • 2012-03-21
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多