2013-08-12 3 views
0

Это мой код для добавления флажок progrmatically, но это не позвольте мне добавить событие oncheckedкак добавить обработчик событий программно созданный флажков

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 

     CheckBox chk = new CheckBox(); 
     chk.EnableViewState = true; 
     chk.Enabled = true; 

     chk.ID = "chkb"; 
     DataRowView dr = (DataRowView)e.Row.DataItem; 


     e.Row.Cells[0].Controls.Add(chk); 

     e.Row.TableSection = TableRowSection.TableBody; 
    } 

, когда я пытаюсь добавить это:

chk.CheckedChanged += checkBox_CheckedChanged; 
I get this error : 
"The name 'checkBox_CheckedChanged' does not exist in the current context", 

хотя я уже добавили эту функцию:

private void CheckBox_CheckedChanged(object sender, System.EventArgs e) 
    { 
    Response.Write("in check changed object"); 
    } 
+2

Прописная буква? 'chk.CheckedChanged + = CheckBox_CheckedChanged;' –

+0

C# является чувствительным к регистру, поэтому ошибка верна, если ваш код является точной копией. – randcd

+1

Капитальное письмо для 'CheckBox_CheckedChanged' – Liel

ответ

4

C# чувствителен к регистру. Ваша функция называется CheckBox_CheckedChanged, но вы пытаетесь присоединить обработчик событий для функции с именем checkBox_CheckedChanged (обратите внимание на верхнюю или нижнюю буквы «c» в начале).

+0

Привет, спасибо, вы были правы. Мне пришлось загладить первый C. Но теперь, когда я не получаю сообщение об ошибке, функция не работает, когда я проверяю или снимаю флажок, который он никогда не отправляет обработчику событий. Можете ли вы ответить на этот вопрос или мне нужно задать новый вопрос? – Diana

+0

@ Dianacastillo: Чтобы все было просто, задайте новый вопрос. –

4

C# чувствительный к регистру.

Вы должны создать этот метод:

private void checkBox_CheckedChanged(object sender, System.EventArgs e) 
{ 
    Response.Write("in check changed object"); 
} 

или использовать метод и подключить его так:

chk.CheckedChanged += CheckBox_CheckedChanged; 

Хороший способ избежать подобных ошибок, является первым реализовать обработчик (или, по крайней мере, определите его), затем пусть IDE закончит печатать для вас.