2015-12-04 3 views
0

я получил небольшую страницу с кнопкой на нем:Кнопка обновляет только боковые

<asp:Button runat="server" ID="btnSave" CssClass="myButton" Text="Save" OnClick="btnSave_Click" /> 

Эта кнопка выполняет метод, которым является добавление antoher кнопку на странице

protected void btnSave_Click(object sender, EventArgs e) 
    { 
     /* 
     * Add a add button 
     */ 
     Button btnAdd = new Button(); 
     btnAdd.ID = "btnAdd"; 
     btnAdd.Attributes.Add("class", "myLoginButton"); 
     btnAdd.Attributes.Add("style", "position:relative; left:10px"); 
     btnAdd.Text = "Add User"; 
     btnAdd.Click += new EventHandler(btnAdd_Click); 
     placeHolderUsers.Controls.Add(btnAdd); 
    } 

Я хочу, чтобы вторая кнопка для выполнения этого метода:

protected void btnAdd_Click(object sender, EventArgs e) 
    { 
     debugLabel.Text = "hello im clicked"; 
    } 

Все работает отлично с помощью второй кнопки. Его текст установлен, его положение правильное, ... Единственное, что не работает, это щелчок. Если я нажму на эту кнопку, моя страница будет обновлена. Только первая кнопка отображается снова.

Я понятия не имею, почему ...

Заранее спасибо!

ответ

1

Проблема с вашим кодом заключается в том, что вы добавляете динамическую кнопку в другой обработчик нажатия кнопки i.e btnSave_Click и на каждой странице загружается динамический контроль.

Обратите внимание, что после обратной передачи необходимо добавить динамические элементы управления, поскольку после каждого управления вы потеряете. Вам нужно добавить это внутри Page_Load или Page_Init события: -

protected void Page_Load(object sender, EventArgs e) 
{ 
    Button btnAdd = new Button(); 
    btnAdd.ID = "btnAdd"; 
    btnAdd.Attributes.Add("class", "myLoginButton"); 
    btnAdd.Attributes.Add("style", "position:relative; left:10px"); 
    btnAdd.Text = "Add User"; 
    btnAdd.Click += new EventHandler(btnAdd_Click); 
    placeHolderUsers.Controls.Add(btnAdd); 
} 

Вы можете проверить документацию для добавления динамического управления here.

+0

Спасибо за ваш ответ. Это также помогает мне отображать мои кнопки. Вы знаете, как добиться выполнения этого обработчика? –

+0

@FelixGerber - Эй, остальная часть вашего кода должна работать, и метод обработчика 'btnAdd_Click' shoud работает. Просто помните, что после каждой обратной передачи вам придется добавить динамический элемент управления и его обработчик. –

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