0
在我的中继器的ItemTemplate中,我有一个复选框和一个禁用的TextBox,我需要实现这个想法:如果CheckBox被选中,TextBox才会被启用..所以我将CheckBox AutoPostBack真的,我试图把这个代码放在ItemDataBound中。但我找不到我的控制,这是奇怪的,因为我使用相同的代码,但在循环“MyRptr.Item [我] .FindControl ....”,它的工作原理! ..我不想循环所有的项目,我只是希望如果我能知道项目编号或CheckBox创建的位置。我也试着为CheckBox的CheckedChanged事件创建一个事件句柄,但是我也找不到CheckBox!访问中继器内的复选框
protected void MyRptr_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
CheckBox ChkBx = e.Item.FindControl("IsSelected_ChkBx") as CheckBox;
if (ChkBx.Checked == true)
{
TextBox TxtBx = e.Item.FindControl("Value_TxtBx") as TextBox;
TxtBx.Enabled = true;
}
}
<asp:Repeater ID="MyRptr" runat="server"
onitemdatabound="MyRptr_ItemDataBound">
<ItemTemplate>
<asp:CheckBox ID="IsSelected_ChkBx" runat="server" Text='<%# Eval("Item") %>' AutoPostBack="True" OnCheckedChanged="IsSelected_ChkBx_CheckedChanged" />
<asp:TextBox ID="Value_TxtBx" runat="server" Enabled="false"></asp:TextBox>
<asp:HiddenField ID="ID_HdnFld" runat="server" Value='<%# Eval("ID") %>' />
</ItemTemplate>
<SeparatorTemplate>
<br></br>
</SeparatorTemplate>
</asp:Repeater>
所以基本上我需要一个干净和简单的方式来实现我的逻辑,如果我能得到什么正在发生这将是巨大的解释,所以任何想法=)?
(Y)完美..这工作=)..我认为JQuery的或JavaScript总的来说会更好,你能帮助我吗? – lKashef
@IKashef:看看这个页面,http://api.jquery.com/closest/ – Peyman
我真的从来没有用过JQuery或JavaScript ..你能提供一些代码。我不会让别人为我写代码,但我以前从未使用过这个代码! – lKashef