ASP.NET: 在后面的代码中找到带有 ClientId 的 ListView 中的控件
ASP.NET: find control in ListView with ClientId in code behind
之前有人问过我的问题,但我无法解决。我想我需要你的帮助。
<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>
I need to get the aciklax
TextBox with FindControl when I click "Button12"
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 控件。你能帮帮我吗?
幸运的是,您无需分析 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;
之前有人问过我的问题,但我无法解决。我想我需要你的帮助。
<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>
I need to get the
aciklax
TextBox with FindControl when I click "Button12"
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 控件。你能帮帮我吗?
幸运的是,您无需分析 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;