2016-02-01 4 views
-1

У меня есть список флажков, и я хочу вставить его Проверенные элементы в базу данных; Я использовал этот код:Как вставить CheckBoxList Проверяемый элемент в базу данных

for (int i = 0; i < checkBox_service.Items.Count; i++) 
     { 

      if (checkBox_service.Items[i].Selected == true) 
      { 
       strcheck += "" + checkBox_service.Items[i].ToString() + ","; 
      } 
     } 

В базе данных он отображающее

System.Web.UI.WebControls.CheckBoxList 

в CheckBox поле вместо выбранного элемента. Все остальные поля имеют правильные данные в соответствии с введенным ... Не удалось найти ошибку, пожалуйста, направляйте меня ...

ответ

1

Использование неправильного метода toString. Используйте либо checkBox_service.Items[i].SelectedValue, либо checkBox_service.Items[i].SelectedItem.Text или checkBox_service.Items[i].SelectedItem.Value

+0

Не принимается. Выбранный элемент –

+0

try SelectedItems –

+0

та же проблема ..... –

0

Создайте стол, в котором у вас есть логическое значение. и сохраните значения true или false в базе данных. верно для проверил и ложно для не проверено

+0

Когда вы отвечаете, сначала проверьте теги. В SQL-сервере логический тип не существует. В новых версиях вы можете использовать тип * BIT * для замены типа * BOOLEAN *, но он находится в последних версиях. Его СУБД представляет собой SQL-сервер-2008. Он вот-вот отметит что-то проверенное или не проверенное. Но его вопросы - как вставить проверенные предметы, а не их состояние. Таким образом, это должно быть или идентификатор элемента или текст элемента. – Khazratbek

0

С помощью LINQ вы можете легко получить все значения выбранных элементов, а затем объединить все выбранные элементы в одну строку:

var selectedValues = from i in checkBox_service.Items.Cast<ListItem>() 
        where i.Selected 
        select i.Value; 

var strcheck = String.Join(",", selectedValues); 

Имейте в виду - что будет работать с простыми значения (например, строки). Если вы привяжете свой checkboxlist к некоторым сложным объектам, то значениями будут свойства, которые вы определили как DataValueFiled. Например. с этим

привязки данных
checkBox_service.DataSource = new[] { 
    new Fruit { Id = 1, Name = "Apple" }, 
    new Fruit { Id = 2, Name = "Banana" }, 
    new Fruit { Id = 3, Name = "Peach" } 
}; 

checkBox_service.DataTextField = "Name"; 
checkBox_service.DataValueField = "Id"; 
checkBox_service.DataBind(); 

если вы выбираете первые и третьи элементы, строка результата будет "1,3". Если вам нужно получить конкатенированный текст, тогда выберите Text, а не Value, и результатом будет "Apple,Peach".

Смежные вопросы