[ad_1]
Đối với một nút trong trang asp.net, tôi cần nhấp vào nút đó lần thứ hai để kích hoạt sự kiện nhấn nút. Tôi tin rằng một số cài đặt có thể không đúng. Làm cách nào để chỉ thực hiện một cú nhấp chuột có thể kích hoạt sự kiện? Cảm ơn.
Giải pháp 1
Đây có vẻ là một vấn đề rất phổ biến khi phương thức xử lý sự kiện của bạn được chạy hai lần.
Nguyên nhân là do việc chèn VS.NET 2 wireup of the event handler
:
– một lần trong aspx (HTML), ví dụ: <asp:button ...="" onclick="btnTest_Click" xmlns:asp="#unknown" />
– và một lần trong phần được tạo bởi VS.NET (InitializeComponent), ví dụ:
this.btnTest.Click += new System.EventHandler(this.btnTest_Click);
Giải pháp đơn giản nhất, imo, là chỉ cần xóa đánh dấu HTML “OnClick…” khỏi trang .aspx.
Ví dụ thay đổi điều này:
<asp:button id="btnTest" runat="server" text="Test" onclick="btnTest_Click" xmlns:asp="#unknown" />
Về điều này:
<asp:button id="btnTest" runat="server" text="Test" xmlns:asp="#unknown" />
Xây dựng lại và chơi lô tô! – 1 sự kiện cho mỗi cú nhấp chuột.
-KR
Giải pháp 2
Xem nhận xét của tôi vào ngày 14 tháng 3 năm 2014:
Sự cố có thể do một điều khiển khác (ví dụ: hộp văn bản). Vì lý do nào đó, tôi phải nhấp chuột trước khi nhấp vào nút. Để loại bỏ vấn đề này, tôi đã sửa lại mã chạy textbox_TextChanged(). Sau đó, việc nhấn nút không cần phải thực hiện hai lần nữa. Cảm ơn tất cả những người đánh giá.
Cảm ơn Người đánh giá, đặc biệt. cho những ý kiến hoặc giải pháp được cung cấp.
Giải pháp 3
nếu bạn sử dụng biến ID mà không khởi tạo, đây có thể là nguồn gốc của lỗi.
Giải pháp 4
Trích dẫn:Cảm ơn mẹo này của bạn rất nhiều. Sau tất cả những lời khuyên thông minh khác chẳng dẫn đến đâu, đây chính xác là giải pháp đơn giản và đáng tin cậy. Vì vậy, chỉ cần gán ID cho nút, ngay cả khi bạn không cần ID cho nút. Nhưng chỉ cần xác định ID của nút đã giải quyết được vấn đề cho tôi và sự kiện nhấp chuột đã được kích hoạt ngay lập tức!
[ad_2]
コメント