2008-10-09 5 views
7

Я использую свой код-за страницы для создания кнопки сохранения программно:Создание кнопки asp: Button программно?

Button btnSave = new Button(); 
    btnSave.ID = "btnSave"; 
    btnSave.Text = "Save"; 

Однако я думаю, что это должно создать кнопку HTML или, возможно, нужно что-то еще, как я не могу показаться, чтобы установить атрибут OnClick в в следующей строке я могу указать OnClientClick, но это не тот, который я хочу установить.

ответ

14
Button btnSave = new Button();  
btnSave.ID = "btnSave";  
btnSave.Text = "Save"; 
btnSave.Click += new System.EventHandler(btnSave_Click); 

protected void btnSave_Click(object sender, EventArgs e) 
{ 
    //do something when button clicked. 
} 
5

Вы бы добавили обработчик в OnClick, используя синтаксис + =, если вы хотите зарегистрировать обработчик для события OnClick в коде позади.

//Add the handler to your button, passing the name of the handling method  
btnSave.Click += new System.EventHandler(btnSave_Click); 

protected void btnSave_Click(object sender, EventArgs e) 
{ 
    //Your custom code goes here 
} 
+0

извините ?! Я знаю, что я толстый, но этот ответ не имел для меня никакого смысла, что такое синтаксис + =? – 2008-10-09 16:22:29

+0

Посмотрите на ответ Эрик, который приятно показывает. – 2008-10-09 16:28:58

+0

Я только что отредактировал, чтобы добавить образец здесь! – 2008-10-09 16:34:58

8

помнить также, что, когда пользователь нажимает на кнопку она заставит постбэк, который создает новый экземпляр вашего класса страницы. Старый экземпляр, в котором вы создали кнопку, уже исчез. Вы должны убедиться, что этот новый экземпляр класса также добавляет вашу кнопку - и это обработчик событий - до фазы загрузки, или обработчик события не будет запускаться (однако событие загрузки страницы все равно будет) ,

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