【发布时间】:2023-03-23 21:25:01
【问题描述】:
我有一个转发器,在标签里面我有一个复选框,我想在转发器的 ItemDataBound 事件中设置 .Checked 属性。问题是args.Item.FindControl("checkboxSelect"); 返回我null。
这是 HTML:
<asp:Repeater ID="productRepeater" runat="server" OnItemDataBound="productRepeater_ItemDataBound">
<ItemTemplate>
<tr class="hand">
<td class="hyperLink center-text width50px">
<fieldset data-role="controlgroup" id="divCheckbox">
<input type="checkbox" name="checkboxSelect" id="checkboxSelect" class="custom" />
<label for="checkboxSelect">
</label>
</fieldset>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
还有productRepeater_ItemDataBound方法:
protected void productRepeater_ItemDataBound(object sender, RepeaterItemEventArgs args)
{
CheckBox checkboxSelect = (CheckBox)args.Item.FindControl("checkboxSelect");
}
我假设导致问题的原因是<fieldset data-role="controlgroup" id="divCheckbox">,因为在转发器中的另一个<td>(未显示)中,我找到控件没有问题。有什么建议如何在当前情况下获得控制权?
【问题讨论】:
-
但是 CheckBox 没有
RunAt="Server"那么解析器怎么知道呢?
标签: c# asp.net repeater findcontrol