C#ASPX复选框中的值在哪里

C#ASPX复选框中的值在哪里,c#,visual-studio-2010,C#,Visual Studio 2010,我有一个带有复选框的ASPX C#页面。 使用以下代码确定项目是否已选中且始终为false if (lstFiles.Items[i].Selected) 我尝试了lstFiles.Items[I].CheckedItems,但该属性无效。我也试过了 我尝试了lstFiles.Items[I]。选择了editems,但该属性也无效 我认为VS2010是混乱的,但我不知道在哪里 ----好的,他们点击我的CheckBoxList控件中的一个框,应该做的就是选中该框,等待他们选择另一项。然后用户单

我有一个带有
复选框的ASPX C#页面
。 使用以下代码确定项目是否已选中且始终为false

if (lstFiles.Items[i].Selected)
我尝试了
lstFiles.Items[I].CheckedItems
,但该属性无效。我也试过了 我尝试了
lstFiles.Items[I]。选择了editems
,但该属性也无效

我认为VS2010是混乱的,但我不知道在哪里

----好的,他们点击我的CheckBoxList控件中的一个框,应该做的就是选中该框,等待他们选择另一项。然后用户单击删除按钮,执行此代码

`protected void btnDelete_Click(object sender, EventArgs e)
     {
         foreach (ListItem i in lstFiles.Items)
         {
             if (i.Selected)
             {
                 string filename = i.Value.ToString();
                 DeleteFTP(filename);
             }
         }

        string[] filenames = GetFileList();
        lstFiles.Items.Clear();


        foreach (string filenamel in filenames)
        {
            lstFiles.Items.Add(filenamel);
        }
     }`    

---在所有情况下,i.Selected=False,我有两个项目,其中一个已选中。

我的错误-我看到您正在使用web控件

以下内容适用于我: 加价


正如glosrob所说,检查所有CheckBoxList Tiem的简单方法如下:

foreach (ListItem i in CheckBoxList1.Items)
{
    if (i.Selected)
    { 
        //do stuff
    }
}
看起来您不使用此控件本身,而是使用它的项,这让您感到困惑。因此,您无法查看复选框列表是否已选中:

<asp:CheckBoxList ID="CheckBoxList1" runat="server">
    <asp:ListItem Selected="True" Value="1">a</asp:ListItem>
    <asp:ListItem Value="2">b</asp:ListItem>
    <asp:ListItem Value="3">c</asp:ListItem>
</asp:CheckBoxList>

A.
B
C

我只选择了DexChanged、TextChanged等事件/操作。没有关于检查的内容?这是一个稍微不同的问题:什么时候需要获取关于检查内容和未检查内容的信息?是的,但正如我所说,我没有看到任何包含“检查”一词的属性。我放下了控制器,又把它打开了,但还是什么都没有。这两个选项中的任何一个都不适用于(int i=0;其类型或名称空间为“ListIem”的foreach(lstFiles.Items中的var item){if(item.Selected){}}找不到。i.Selected的值为False。i.Selected的值正确,但i.Selected的值为False ListItem位于System.Web.UI.WebControl命名空间中。您能告诉我们您正在使用的部分代码吗?在什么情况下您要检查它的状态?我知道发生了什么,只需要知道如何使它正常工作。当我单击Delete(删除)按钮可触发page_load(页面加载)事件。我输入page_load(页面加载)事件代码以加载我的复选框列表,我将其放在那里,以便在页面出现时将其填充。只需找到启动页面的一次性事件。每次回发都会触发page_load(页面加载)事件。单击Delete(删除)按钮时,会发生page_load(页面加载)事件在btnDelete_单击之前。如果要在第一次加载页面时设置一些值,请将其放入页面加载事件中,如下所示:如果(!isPostBack){//set start values here}此块中的代码将仅在第一次加载时运行。
foreach (ListItem i in CheckBoxList1.Items)
{
    if (i.Selected)
    { 
        //do stuff
    }
}
<asp:CheckBoxList ID="CheckBoxList1" runat="server">
    <asp:ListItem Selected="True" Value="1">a</asp:ListItem>
    <asp:ListItem Value="2">b</asp:ListItem>
    <asp:ListItem Value="3">c</asp:ListItem>
</asp:CheckBoxList>