ASP.NET 转发器中的动态复选框列表
本文关键字:动态 复选框 列表 NET 转发器 ASP | 更新日期: 2023-09-27 18:32:21
我在Repeater
中有一个CheckBoxList
,我拥有的代码来自这里 转发器中的动态下拉列表,ASP.NET。
如果这样做:
<asp:CheckBoxList ID="chklWorkType" runat="server" OnDataBinding="chklWorkType_DataBinding"></asp:CheckBoxList>
protected void chklWorkType_DataBinding(object sender, System.EventArgs e)
{
CheckBoxList chk = (CheckBoxList)(sender);
chk.Items.Add(new ListItem("nem 1", "1"));
chk.Items.Add(new ListItem("num 2", "2"));
chk.SelectedValue = chk.DataValueField;
}
这是我的错误消息:
System.ArgumentOutOfRangeException:"chklWorkType"有一个无效的SelectedValue,因为它不存在于项目列表中。
DataValueField
获取或设置提供每个列表项值的数据源的字段。所以通常是列的名称或类似的东西。但是你用这个名字作为不存在SelectedValue
,因为你没有断言一个,所以它String.Empty
.
如果要选择第一项,可以使用此选项:
chk.SelectedValue = "1";
这就是第一个ListItem
(new ListItem("nem 1", "1")
)的值。
当然,您也可以使用SelectedIndex
:
chk.SelectedIndex = 0;