将ASP.NET webforms OnClick事件限制为一次

时间:2016-01-17 20:26:01

标签: javascript c# jquery asp.net onclick

我有一个像这样的Web表单按钮,用于完成用户使用paypal在网站上所做的订单:

<asp:Button style="padding-left:10px !important;" ID="Button1" runat="server" OnClick="Button1_Click" Text="Complete order" />

点击按钮后......订单的数据会存储在数据库中。现在我的问题是,如果用户一次多次触发事件怎么办(无缘无故地说)...如果他们这样做了......我会得到多个错误......所以我的问题是如何做的我限制用户只能触发点击事件一次......下次他/她试图点击它时,事件不会被触发?有没有方便的方法通过服务器/客户端编程这样做?也许是通过Javascript ??

1 个答案:

答案 0 :(得分:1)

您可以通过“one

使用JQuery执行此客户端
$('#SomeForm').one('submit', function() {
    $(this).find('input[type="submit"]').attr('disabled','disabled');
});

这只会让按钮被点击一次。你不应该依赖于这种付款方案。您可以将某些内容标记为Session["Clicked"] = true;或类似内容,以确保只在服务器端进行处理。