【问题标题】:ASP.NET: find control in ListView with ClientId in code behindASP.NET:在后面的代码中使用 ClientId 在 ListView 中查找控件
【发布时间】:2016-09-27 02:00:11
【问题描述】:

之前有人问过我的问题,但我无法解决。我想我需要你的帮助。

<asp:ListView runat="server" ID="listvsl">
    <ItemTemplate>
        <td>
            <img style="width: 100%; height: 150px;" src="<%#Eval("resim") %>" /><br />
            <asp:Button ID="in" runat="server" Text="Sol" ClientIDMode="Inherit" OnClick="haraket" Style="width: 75px;" />
            <asp:Button ID="cik" OnClick="haraket" runat="server" Text="Sağ" Style="width: 75px;" /><br />
            <asp:Button ID="Button10" runat="server" Text="Sil" OnClick="sil_Clickice" Style="width: 150px;" /><br />
            <asp:TextBox ID="aciklax" runat="server" TextMode="MultiLine" ClientIDMode="Inherit" /><br />
            <asp:Button ID="Button12" runat="server" Text="Güncelle" ClientIDMode="Inherit" OnClick="yazignc" />
        </td>
    </ItemTemplate>
</asp:ListView>

单击“Button12”时,我需要使用 FindControl 获取 aciklax TextBox

Button bu = (Button)sender;//Button12's onclick event
string[] falanca = bu.ClientID.ToString().Split('_');
string alcez = falanca[0] + "_" + falanca[1] + "_" + "aciklax" + "_" + falanca[3];

这是我找到 ClientId 的方法。我得到了 ClientId,但我无法使用它获取 TextBox 控件。你能帮帮我吗?

【问题讨论】:

  • 当您提出问题时,请注意正确格式化您的代码和标记。它有助于了解你做了什么以及你想要实现什么。

标签: c# asp.net listview findcontrol clientid


【解决方案1】:

幸运的是,您无需解析 ClientID 即可找到 TextBox 控件。您可以使用按钮的NamingContainer 属性找到对应的ListView 项。然后就可以在item中找到TextBox了,使用ItemTemplate中指定的原始ID:

Button btn = sender as Button;
ListViewItem item = btn.NamingContainer as ListViewItem;
TextBox txt = item.FindControl("aciklax") as TextBox;

【讨论】:

  • 这真是个神奇的解决方案,谢谢,但我真的不懂英文部分,我的英文水平很低,你能给我解释一下最简单的语言吗?
  • 不客气。我最好的解释是代码。简而言之:从按钮可以获取项目,从项目可以获取TextBox。
  • 我不知道这种方法真的存在,谢谢,但我还需要一件事,如何显示“aciklax”的保存值?
  • 我尝试 Eval 方法 Text="" 但 ISS 警告我
  • 如果字段名为“aciklax”,您可以使用Text='&lt;%# Eval("aciklax") %&gt;' 填充文本框。请注意外部单引号' 和内部双引号"。 (还有一点:如果答案解决了你的问题,你可以用复选标记接受)。
猜你喜欢
  • 2012-02-13
  • 2013-09-12
  • 2012-08-08
  • 2012-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多