2008-10-09 9 views
7

używam mojego kodu źródłowego strony, aby utworzyć programowo przycisk Zapisz:Tworzenie programu asp: Button programowo?

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

Jednak myślę, że to musi utworzyć przycisk HTML lub być może potrzebuje czegoś innego, a ja nie potrafię ustawić atrybut onclick w następujący wiersz, mogę określić OnClientClick, ale nie jest to ten, który chcę ustawić.

Odpowiedz

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. 
} 
+0

to wielkie dzięki Erikk –

5

Dodawałbyś handler do OnClick używając składni + = jeśli chcesz zarejestrować handler dla zdarzenia OnClick w kodzie za.

//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

Przepraszam ?! Wiem, że jestem gruby, ale ta odpowiedź nie ma dla mnie sensu, co to jest składnia + =? –

+0

Spójrz na odpowiedź Erikka, która ładnie się wyświetla. –

+0

Właśnie edytowałem, aby dodać tutaj także próbkę! –

8

Należy również pamiętać, że gdy użytkownik kliknie przycisk będzie wymusić odświeżenie, który tworzy nową instancjęswojej klasie widoku. Stara instancja, w której utworzyłeś przycisk, już nie istnieje. Musisz upewnić się, że ta nowa instancja klasy również doda twój przycisk - i jest to obsługa zdarzeń - przed fazą ładowania, lub obsługa zdarzenia nie uruchomi się (jednak nadal będzie działać ładowanie strony) .

+0

Doskonały punkt! –

Powiązane problemy