我有一个 CheckBoxList 可以加载为禁用,但可能需要在某些客户端操作后启用。
我可以使用jQuery启用复选框,但问题是提交页面后,无法识别ChceckBoxList中的选定项目(可能是因为控件不在ViewState中)。
场景的一个简单示例:
<asp:CheckBoxList ID="chkList1" runat="server" Enabled="false" ClientIDMode="Static">
<asp:ListItem Value="123" />
<asp:ListItem Value="456" />
<asp:ListItem Value="789" />
</asp:CheckBoxList>
$(document).ready(function()
{
$("#divEnable").click(function()
{
var inputs = $("#chkList1").find("input");
for (var i = 0; i < inputs.length; i++)
{
inputs[i].disabled = false;
}
});
}
然后在启用复选框后,选择它们并发送回发 - 没有识别到选定的项目。
我尝试“手动”禁用项目,如
chkList1.Items[0].Attributes.Add("disabled", "disabled");
但这不起作用(disabled
属性附加到包含跨度而不是输入控件)。
我还考虑使用隐藏字段来跟踪复选框的选择,但由于我在一个网格中有多个 CheckBoxList,这将是非常不雅的。
有没有办法解决?