Создание asp: Button программно? - PullRequest
7 голосов
/ 09 октября 2008

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

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

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

Ответы [ 3 ]

14 голосов
/ 09 октября 2008
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. 
}
9 голосов
/ 09 октября 2008

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

5 голосов
/ 09 октября 2008

Вы бы добавили обработчик в 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...