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