为什么即使我用 ID 指定了一个,但多个 CheckBoxList 中的值仍被选中
Why does the value in multiple CheckBoxList selected even though I specified one with the ID
我正在生成三个独立的 CheckBoxList
C#:
//...
foreach (DataRow dr in dt.Rows)
{
ListItem li = new ListItem((string)dr["LD"], dr["ID"]+"");
cl1.Items.Add(li);
cl2.Items.Add(li);
cl2.Items.Add(li);
}
//...
SelectCheckBoxList("76", cl2);
private void SelectCheckBoxList(string valueToSelect, CheckBoxList lst)
{
ListItem listItem = lst.Items.FindByValue(valueToSelect);
//ListItem listItem = lst.Items.FindByText(valueToSelect);
if (listItem != null) listItem.Selected = true;
}
ASP.NET:
<asp:CheckBoxList ID="cl1" runat="server" RepeatDirection="Vertical" RepeatLayout="UnorderedList">
</asp:CheckBoxList>
<asp:CheckBoxList ID="cl2" runat="server" RepeatDirection="Vertical" RepeatLayout="UnorderedList">
</asp:CheckBoxList>
<asp:CheckBoxList ID="cl3" runat="server" RepeatDirection="Vertical" RepeatLayout="UnorderedList">
</asp:CheckBoxList>
因为它们都具有相同的值,但我只希望选择 ID cl2
的 CheckBoxList
中的值。但是,所有三个 CheckBoxList
都选择了该项目。
请问我该如何解决。
每个列表中都添加了对相同 ListItem
的引用。将 ListItem
的副本添加到每个列表:
foreach (DataRow dr in dt.Rows)
{
cl1.Items.Add(new ListItem((string)dr["LD"], dr["ID"]+""));
cl2.Items.Add(new ListItem((string)dr["LD"], dr["ID"]+""));
cl2.Items.Add(new ListItem((string)dr["LD"], dr["ID"]+""));
}
我正在生成三个独立的 CheckBoxList
C#:
//...
foreach (DataRow dr in dt.Rows)
{
ListItem li = new ListItem((string)dr["LD"], dr["ID"]+"");
cl1.Items.Add(li);
cl2.Items.Add(li);
cl2.Items.Add(li);
}
//...
SelectCheckBoxList("76", cl2);
private void SelectCheckBoxList(string valueToSelect, CheckBoxList lst)
{
ListItem listItem = lst.Items.FindByValue(valueToSelect);
//ListItem listItem = lst.Items.FindByText(valueToSelect);
if (listItem != null) listItem.Selected = true;
}
ASP.NET:
<asp:CheckBoxList ID="cl1" runat="server" RepeatDirection="Vertical" RepeatLayout="UnorderedList">
</asp:CheckBoxList>
<asp:CheckBoxList ID="cl2" runat="server" RepeatDirection="Vertical" RepeatLayout="UnorderedList">
</asp:CheckBoxList>
<asp:CheckBoxList ID="cl3" runat="server" RepeatDirection="Vertical" RepeatLayout="UnorderedList">
</asp:CheckBoxList>
因为它们都具有相同的值,但我只希望选择 ID cl2
的 CheckBoxList
中的值。但是,所有三个 CheckBoxList
都选择了该项目。
请问我该如何解决。
每个列表中都添加了对相同 ListItem
的引用。将 ListItem
的副本添加到每个列表:
foreach (DataRow dr in dt.Rows)
{
cl1.Items.Add(new ListItem((string)dr["LD"], dr["ID"]+""));
cl2.Items.Add(new ListItem((string)dr["LD"], dr["ID"]+""));
cl2.Items.Add(new ListItem((string)dr["LD"], dr["ID"]+""));
}