2016-07-26 7 views
0

Я пытаюсь получить выбранное значение из моего флажка (говоря только о единственном результате/проверке), я хочу получить это значение в событии onClick на моей кнопке, а не только флажок я также у меня есть два раскрывающихся списка, из которых я беру также выбранное значение, и когда я нажимаю на свою кнопку, я получаю значения из выпадающих списков, и я не могу получить значение из checkboxlist, и я не знаю, почему, потому что я устанавливал allready раньше на загрузку страницы источник и Eveything, кажется, выглядят хорошо, но я не могу получить значение:/C# ASP.NET Checkbox выбрано одно значение

Вот код:

protected void btnSearch_Click(object sender, EventArgs e) 
    { 
     var dropDown_one= Convert.ToInt32(dropOne.SelectedValue); //THIS IS OK 
     var dropDown_two = Convert.ToInt32(dropTwo.SelectedValue);//THIS IS OK 
     var checkBox = Convert.ToInt32(checkBox.SelectedValue); //<- here I got error, because I am trying to convert "" value to int 

    } 

и на странице загрузки I Did Тхи s:

checkBox.DataSource =SomethingFromDatabase(); 
     checkBox.DataTextField = "Name"; 
     checkBox.DataValueField = "ID"; 
     checkBox.DataBind(); 

Таким образом я получил значение из базы данных, и я могу проверить их, но когда я нажимаю мою кнопку я получил ошибку, потому что CheckBoxList говорит, что его значение «» так как я ничего не выбрать, даже если Я сделал ..:/

спасибо, ребята, Приветствия

ответ

0

обработчик Page_Load события выполняются на каждом постбэк. Если вы каждый раз вызываете свой код привязки данных, CheckBoxList очищается и пополняется, а сделанные вами изменения теряются.

Решение этой проблемы заключается в связывании данных внутри if (!IsPostBack) условного блока:

void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
    { 
     checkBox.DataSource = SomethingFromDatabase(); 
     checkBox.DataTextField = "Name"; 
     checkBox.DataValueField = "ID"; 
     checkBox.DataBind(); 
    } 
} 
+0

Я думаю, что это ответ на эту проблему, но я постараюсь скоро, когда я вернусь домой, и я оставлю ответ, если все в порядке! и отметьте его как ответ :) Спасибо –

+0

Это был ответ! Большое спасибо @ConnorsFan! :) –

0

Проверить, если Checkbox не в отключенном состоянии, так как он будет возвращать NULL в неактивном состоянии и преобразовать его в Int вызовет ошибку. Поэтому проверьте значение NULL на значение флажка и преобразуйте его.

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

  • Нет связанных вопросов^_^