我有一个转发器,它在headerTemplate
中有一个checkBox<asp:Repeater ID="myRepeater" runat="Server">
<HeaderTemplate>
<table>
<tr>
<th>
<asp:CheckBox ID="selectAllCheckBox" runat="Server" AutoPostBack="true>
.
.
.
我想知道如何在后面的代码中获取该checkBox的值。有什么想法吗?
答案 0 :(得分:2)
在ItemDataBound方法中调用FindControl(“checkboxID”)并强制转换为Checkbox
void myRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) {
if (e.Item.ItemType == ListItemType.Header) {
CheckBox cb = (CheckBox)e.Item.FindControl("selectAllCheckBox");
bool isChecked = cb.Checked;
}
}
或者你可以随时做到这一点:
CheckBox cb = (CheckBox)myRepeater.Controls.OfType<RepeaterItem>().Single(ri => ri.ItemType == ListItemType.Header).FindControl("selectAllCheckBox");