2008-10-09 24 views
7

Tôi đang sử dụng code-behind của tôi trang để tạo ra một nút lưu cách lập trình:Tạo một asp: Nút lập trình?

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

Tuy nhiên tôi nghĩ rằng đây phải tạo ra một nút html hoặc có lẽ cần cái gì khác như tôi dường như không thể đặt thuộc tính OnClick trong dòng sau, tôi có thể chỉ định OnClientClick nhưng đây không phải là thứ tôi muốn đặt.

Trả lời

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

Thật tuyệt vời nhờ Erikk –

5

Bạn sẽ thêm trình xử lý cho OnClick bằng cách sử dụng cú pháp + = nếu bạn muốn đăng ký trình xử lý cho sự kiện OnClick trong mã phía sau.

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

xin lỗi ?! Tôi biết tôi đang dày nhưng câu trả lời đó không có ý nghĩa với tôi, cú pháp + = là gì? –

+0

Hãy nhìn vào câu trả lời của Erikk để hiển thị độc đáo. –

+0

Tôi vừa chỉnh sửa để thêm mẫu tại đây! –

8

Cũng nên nhớ rằng khi người dùng nhấp vào nút nó sẽ buộc một postback, mà tạo ra một dụ mới của lớp trang của bạn. Ví dụ cũ nơi bạn tạo nút đã biến mất. Bạn cần đảm bảo rằng phiên bản mới của lớp này cũng thêm nút của bạn - và trình xử lý sự kiện - trước giai đoạn tải hoặc trình xử lý sự kiện sẽ không chạy (sự kiện tải của trang vẫn sẽ, tuy nhiên) .

+0

Điểm tuyệt vời! –

Các vấn đề liên quan