【问题标题】:How to reference the parent element in the DOM in an ASPX page?如何在 ASPX 页面中引用 DOM 中的父元素?
【发布时间】:2013-09-07 18:57:12
【问题描述】:

这是我的页面 sn-p:

...
<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server">
  <table>
    <tr>
      <td>
        <asp:TextBox MaxLength="255" ID="myTextBox" runat="server"></asp:TextBox>
      </td>
    </tr>
  </table>
</asp:Content>
...

这是页面代码隐藏部分:

...
Control parent = this.myTextBox.Parent; //this is acutally asp:Content control
string parentID = parent.ID; //this is PlaceHolderMain
...

我需要的是引用&lt;td&gt; 元素(因为我想更改它的Visibility 属性)。我怎样才能做到这一点?我哪里错得这么严重? :)

【问题讨论】:

  • 你没有出错。你只是没有去:-)。看我的回答
  • 我们可以不用服务器标签吗?因为我不能修改整个应用程序的网格。我需要将最后一个文本框添加到网格并对其应用一些 JS 代码,但有时网格会在 上应用 css 隐藏最后一个文本框。看到我需要检查它是否隐藏然后将JS应用到它。

标签: html asp.net dom


【解决方案1】:

td 需要在服务器端运行才能被访问并归类为父元素。

<td id="td" runat="server">
   <asp:TextBox MaxLength="255" ID="myTextBox" runat="server"></asp:TextBox>
</td>

【讨论】:

    【解决方案2】:

    背后的 ASPX 代码实际上只知道 ASP 控件(即标签中带有 asp: 前缀的控件),td 只是普通的旧 html。为了让后面的代码与之交互,您需要在标签上添加一个 runat="server"

    【讨论】:

      【解决方案3】:

      按照其他用户的建议,将属性 runat 添加到 &lt;td&gt; 标记。

      <td id="mytd" runat="server">
         <asp:TextBox MaxLength="255" ID="myTextBox" runat="server"></asp:TextBox>
      </td>
      

      然后在c#端(page back)

      添加这个头文件

      using System.Web.UI.HtmlControls;
      protected void Button_click(object sender,EventArgs e)
      {
        mytd.Attributes.Add("style","visibility:none");
      }
      

      【讨论】:

      • 感谢苏宾雅各布!由于所有答案都是正确的,我决定支持你的答案,因为你的分数最少:)
      【解决方案4】:

      这里的表格是 html 表格,而不是 ASP.NET 服务器控件。所以后面的代码是无法访问的。

      以防万一:

      <asp:Table ID="Table1" runat="server">
                  <asp:TableRow ID="TableRow1" runat="server" ForeColor="Teal">
                      <asp:TableCell>
                          <asp:TextBox MaxLength="255" ID="myTextBox" runat="server"> 
                          </asp:TextBox>
                      </asp:TableCell>
                  </asp:TableRow>
      </asp:Table>
      

      【讨论】:

        猜你喜欢
        • 2013-01-04
        • 2020-11-26
        • 2016-07-24
        • 1970-01-01
        • 2017-05-07
        • 2023-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多