Chỉ cần nghe nói về "DisableOnSubmit" tài sản của một asp <: Nút >, như vậy:
<asp:Button ID="submit" runat="server" Text="Save"
OnClick="yourClickEvent" DisableOnSubmit="true" />
Khi render , thuộc tính onclick của nút trông giống như sau:
onclick="this.disabled=true; setTimeout('enableBack()', 3000);
WebForm_DoPostBackWithOptions(new
WebForm_PostBackOptions('yourControlsName', '', true, '', '', false, true))
Và "enableBack()' javascript chức năng trông như thế này:
function enableBack()
{
document.getElementById('yourControlsName').disabled=false;
}
Vì vậy, khi nút được nhấn vào, nó trở nên tàn tật trong 3 giây. Nếu biểu mẫu đăng thành công thì bạn sẽ không bao giờ thấy nút bật lại. Tuy nhiên, nếu bất kỳ trình xác thực nào không thành công thì nút sẽ được bật lại sau 3 giây.
Tất cả điều này chỉ bằng cách đặt thuộc tính trên nút - không cần mã javascript bằng tay.
Nguồn
2009-06-01 23:12:09
cảm ơn rp. điều này có vẻ tuyệt vời. – Brownie
Chà! Bạn nhìn là một coder cấp doanh nghiệp! :) –
rp. một thay đổi nhỏ mà tôi phải thực hiện là chuyển tên validationgroup của mình sang phương thức Page_ClientValidate(). Cảm ơn mã! – Brownie