只有一个复选框在复选框列表检查

问题描述:

我在aspx文件中写一个函数在asp.net C#应用程序只有一个复选框在复选框列表检查

 public void FillAfterClose(string Names) 
    { 

      string[] arrGroup = Names.ToString().Split(','); 

      foreach (object obj in arrGroup) 
      { 

       for (int i = 0; i < chklLicenceTypes.Items.Count; i++) 
       { 
        if (chklLicenceTypes.Items[i].Text == obj.ToString()) 
        { 
         chklLicenceTypes.Items[i].Selected = true; 
        } 
       } 
      } 
    } 

我通过代码绑定与名称和值对复选框

 <asp:CheckBoxList ID="chklLicenceTypes" RepeatDirection="Horizontal" AutoPostBack="false" 
CausesValidation="false" RepeatColumns="3" RepeatLayout="Table" runat="server"> 
    </asp:CheckBoxList> 

渲染页面在浏览器中的CheckBoxList后充满

  • 财产[]
  • 意外与健康[]
  • 生活[]
  • 因果[]
  • 无[]

如果字符串名称中包含像 “财产保险,意外及健康,生活” 的值,则功能FillAfterClose只允许“财产和意外伤害”复选框启用,其余部分被忽略... 我希望“财产和意外,意外和健康,生活”复选框应该被选中。

如果字符串恰好是:

var names="Property and Casualty, Accident and Health, Life"; 

那我就看到有是在分裂的结尾空格的问题。我会改变这一行:

string[] arrGroup = Names.ToString().Split(','); 

这将导致到:

new [] 
    { 
     "Property and Casualty", 
     " Accident and Health", 
     " Life" 
    }; 

这一行:

string[] arrGroup = names.Split(',').Select (s =>s.Trim()).ToArray(); 

这将导致到:

new [] 
    { 
     "Property and Casualty", 
     "Accident and Health", 
     "Life" 
    };