c# - 单击两次中继器按钮时如何避免计数增加?
问题描述
我使用了中继器按钮来显示一组视频。问题是当重复器中的图像按钮被单击两次时,数据库计数增加了两次。
我不希望这种情况发生?
<asp:Repeater ID="rptVideos" runat="server" OnItemCommand="rpViewReports_ItemCommand">
<HeaderTemplate>
<table width="100%">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td style="width: 7%">
<asp:ImageButton ID="imgRP" CommandName="Play" CommandArgument='<%#Eval("ComponentId")%>'
runat="server" ImageUrl="../../../Images/VideoHelp.png" />
</td>
<td>
<span style="font-weight: bold"><%#Eval("ComponentName")%></span>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
解决方案
请在您的 aspx 页面中添加以下脚本。
<script type="text/javascript" language="javascript">
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
function BeginRequestHandler(sender, args) { var oControl = args.get_postBackElement(); oControl.disabled = true; }
</script>
或者在您的 Page_load 函数中添加以下代码 ¨
imgRP.Attributes.Add("onclick", "this.disabled='true';");
imgRP.Attributes.Add("onload", "this.disabled='false';");
推荐阅读
- sql - 使用天数删除SQL中的重复记录
- c# - 从 chrome 85 开始的零星 Selenium Chrome WebDriver 超时
- php - DDD 和助手类
- python - 如何检查 dequeue 是否没有元素(空)
- android - 无法实例化活动。我只连接库
- javascript - 意外的令牌,应为“;”
- python - 如何在jupyter中保存由%timeit测量的函数结果?
- flutter - Flutter listview 在其内容滚动屏幕的末尾
- angular - Angular 10 组件输入到反应形式默认值
- javascript - 如何通过 USB 连接将打印机连接到 React Native Android 应用程序