将 ASP.NET 个网络表单 OnClick 事件限制为一次

本文关键字:一次 事件 NET ASP 网络 OnClick 表单 | 更新日期: 2023-09-27 18:30:41

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

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

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

将 ASP.NET 个网络表单 OnClick 事件限制为一次

你可以通过"one"使用JQuery来做这个客户端。

$('#SomeForm').one('submit', function() {
    $(this).find('input[type="submit"]').attr('disabled','disabled');
});

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