Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 禁用并检查c中存储在数据库中的“CheckBoxList”值#_C#_Checkbox_Listitem - Fatal编程技术网

C# 禁用并检查c中存储在数据库中的“CheckBoxList”值#

C# 禁用并检查c中存储在数据库中的“CheckBoxList”值#,c#,checkbox,listitem,C#,Checkbox,Listitem,我在aspx页面的表单中添加了此复选框列表: <asp:CheckBoxList ID="Fruits" runat="server"> <asp:ListItem Text="Mango" Value="1" /> <asp:ListItem Text="Apple" Value="2" /> <asp:ListItem Text="Banana" Value="3" /> <asp:ListItem Tex

我在aspx页面的表单中添加了此
复选框列表

<asp:CheckBoxList ID="Fruits" runat="server">
    <asp:ListItem Text="Mango" Value="1" />
    <asp:ListItem Text="Apple" Value="2" />
    <asp:ListItem Text="Banana" Value="3" />
    <asp:ListItem Text="Guava" Value="4" />
    <asp:ListItem Text="Orange" Value="5" />
</asp:CheckBoxList>
数据库中存储的值:
1;4.5;

现在在aspx表单页面中,我需要禁用并检查数据库中存储的
CheckBoxList
的值,但我尝试了这段代码,但没有成功,因为所有
ListItem
都被禁用但未被检查

FruitsDB = dr["Fruits"].ToString();

if (FruitsDB.ToString() != "")
{
    Fruits.Text = FruitsDB.ToString();
    Fruits.Enabled = false;
}
else
{
    Fruits.Enabled = true;
}
我需要禁用并在复选框列表中选中值为1、4和5的项目。


请帮助我,提前谢谢。

您没有设置列表项的
Selected
属性,您在列表项中设置了
Enabled
属性

这是代码。您将在复选框列表上进行迭代。如果当前复选框的值为FROUTSDB,则它将被选中并禁用

    var memory = FruitsDB.ToString();

    foreach (ListItem item in Fruits.Items)
    {
        if (memory.Contains(item.Value))
        {
            item.Enabled = false;
            item.Selected = true;
        }
    }

您没有设置列表项的
Selected
属性,您在列表项中设置了
Enabled
属性

这是代码。您将在复选框列表上进行迭代。如果当前复选框的值为FROUTSDB,则它将被选中并禁用

    var memory = FruitsDB.ToString();

    foreach (ListItem item in Fruits.Items)
    {
        if (memory.Contains(item.Value))
        {
            item.Enabled = false;
            item.Selected = true;
        }
    }

在代码的第二部分,您没有选择任何内容,只是将checkedlistbox设置为启用或禁用。什么是水果DB的回报?@PauloLima谢谢你。
foultsDB
的返回值为
1;4.5;
@PauloLima:我需要禁用并在
复选框列表中选中值为
1的项目;4.5;我一直在四处寻找,显然没有内置的方法,但是您可以通过使用CheckState.Undeterminate添加特定项来解决此问题。这个“看起来”像是被检查和禁用了。但是,由于它不是真正禁用的,因此需要处理ItemCheck事件并阻止用户更改选中状态。如果您愿意,我将发布一个包含所有内容的解决方案。在代码的第二部分,您没有选择任何内容,您只是将checkedlistbox设置为启用或禁用。什么是水果DB的回报?@PauloLima谢谢你。
foultsDB
的返回值为
1;4.5;
@PauloLima:我需要禁用并在
复选框列表中选中值为
1的项目;4.5;我一直在四处寻找,显然没有内置的方法,但是您可以通过使用CheckState.Undeterminate添加特定项来解决此问题。这个“看起来”像是被检查和禁用了。但是,由于它不是真正禁用的,因此需要处理ItemCheck事件并阻止用户更改选中状态。如果你愿意,我会发布一个解决方案,包括所有内容。谢谢你,但我不理解你的回复;我需要在
复选框列表中禁用并选中值为
1的项目;4.5;谢谢,但我不明白你的回答;我需要在
复选框列表中禁用并选中值为
1的项目;4.5;