转发器中的动态复选框列表,ASP.NET
Dynamic Checkboxlist in repeater, ASP.NET
我在 Repeater
中有一个 CheckBoxList
,我的代码来自这里 Dynamic dropdownlist in repeater, 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' has a SelectedValue which is invalid because it does not exist in the list of items.
DataValueField
gets or sets the field of the data source that provides the value of each list item. So normally the name of a column or something like that. But you are using this name as SelectedValue
不存在,因为你没有分配一个,所以它是 String.Empty
.
如果你想选择第一个项目,你可以使用这个:
chk.SelectedValue = "1";
这是第一个 ListItem
(new ListItem("nem 1", "1")
).
的值
当然你也可以使用 SelectedIndex
:
chk.SelectedIndex = 0;
我在 Repeater
中有一个 CheckBoxList
,我的代码来自这里 Dynamic dropdownlist in repeater, 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' has a SelectedValue which is invalid because it does not exist in the list of items.
DataValueField
gets or sets the field of the data source that provides the value of each list item. So normally the name of a column or something like that. But you are using this name as SelectedValue
不存在,因为你没有分配一个,所以它是 String.Empty
.
如果你想选择第一个项目,你可以使用这个:
chk.SelectedValue = "1";
这是第一个 ListItem
(new ListItem("nem 1", "1")
).
当然你也可以使用 SelectedIndex
:
chk.SelectedIndex = 0;