Создание asp:Button программно?

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

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

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

3 ответа

Решение
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. 
}

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

Вы бы добавили обработчик в 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
}
Другие вопросы по тегам