【问题标题】:how to check particular item on checkboxlist in asp.net如何在asp.net中检查复选框列表中的特定项目
【发布时间】:2015-05-27 05:35:00
【问题描述】:

这是我用来检查字符串匹配项的代码,但它不起作用

foreach(ListItem li in Checklistbox1.Items)
{
    if(li.text == "John")
     {
         li.selected = true;
     }
}

请帮我解决这个问题

【问题讨论】:

  • 这里的错误/异常是什么?在什么方面不工作?
  • 嗨,我已经发布了答案。您只需要使用“值”代替文本。
  • @RahulNikate 你能分享代码如何在 for 循环中做到这一点
  • @HarveySpecter 没有收到任何错误,只是无法更改复选框中的复选框状态

标签: c# asp.net webforms


【解决方案1】:

你可以尝试这样不循环:

Checklistbox1.Items.FindByValue("John").Selected = true;

或者你可以试试这个:

foreach(ListItem li in Checklistbox1.Items)
{
    if(li.Value == "John")
     {
         li.selected = true;
     }
}

或者你可以这样尝试:

foreach (var item in Checklistbox1.Items.Cast<ListItem>()
        .Where (li => li.Value == "John"))
   item.Selected = true;

【讨论】:

  • @Adil:- 是的,这不是必需的。更新了!
  • 但他想检查文本而不是值。
【解决方案2】:

没有循环:

void yourbutton_click(Object sender, EventArgs e)
{
    Checklistbox1.Items.FindByText("John").Selected = true;
}

使用foreach循环:

foreach(ListItem li in Checklistbox1.Items)
{
    if(li.Text == "John")
    {
        li.Selected = true;
    }
}

使用for循环:

for (int i = 0; i < Checklistbox1.Items.Count; i++)
{
     if(Checklistbox1.Items[i].Text == "John")
     {
          Checklistbox1.Items[i].Selected = true;
     }       
}

【讨论】:

  • @Supreethsup 你在哪里将 DataSource 绑定到 Checkboxlist
  • 在加载项按钮上单击@RahulNikate
  • OP 说要比较它的text。为什么你认为它是value
  • @JaiminSoni 你的回答和OP的问题有什么区别
  • 你们!!!!我已经在我的页面上尝试了这段代码,它工作正常。我已经在页面加载时检查了这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-08
  • 1970-01-01
相关资源
最近更新 更多