首页 > 解决方案 > 单击两次中继器按钮时如何避免计数增加?

问题描述

我使用了中继器按钮来显示一组视频。问题是当重复器中的图像按钮被单击两次时,数据库计数增加了两次。

我不希望这种情况发生?

<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>

标签: c#asp.net

解决方案


请在您的 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';");

推荐阅读