0

嗨,我在网页上的更新面板中放置了一些代码,除了一个按钮外,一切正常。更新面板中显示的只是用户添加到购物车中的一些项目。

起作用的按钮是 btnPlus 和 btnMinus,它们增加了购物车中商品的数量,并且在其背后的代码中更新了存储在数据库中的数量。

不起作用的是 btnDelete - 这应该从购物车中删除该项目。

当我点击它时,什么也没有发生——但真正奇怪的是(目前)在我点击 btnPlus 或 btnMinus 之后它确实起作用。

有任何想法吗?

                     <asp:UpdatePanel ID="pnlSmallCheckout" runat="server">
                    <ContentTemplate>
                        <div class="basket">
                            <%Dim SmallCounter as integer = 0 %>
                            <asp:Repeater ID="rptSmallCheckout" runat="server">
                                <ItemTemplate>

                                    <div class="item">

                                        <div class="image">
                                            <img src="/graphics/placeholders/sweets.jpg">
                                        </div>

                                        <div class="title">
                                            <%#Eval("PTitle")%> x<span class="amount" id="span_small_<%=SmallCounter%>"><%#Eval("Quantity") %></span><asp:TextBox ID="txtQuantity" runat="server" Text='<%# Eval("Quantity") %>' MaxLength="3" Style="display: block"></asp:TextBox>
                                            <asp:TextBox ID="txtSmallNumKilos" runat="server" Style="display: block"></asp:TextBox>
                                            <asp:Literal ID="ltrSmallNumKilos" runat="server" Visible="false"></asp:Literal>
                                        </div>

                                        <div class="controls">
                                            <asp:Button ID="btnMinus" CssClass="button minus" Text="-" runat="server" CommandName='<%# Eval("ItemID") %>' OnClientClick="if (!update_qty('minus',this)) return false;" OnClick="btnUpdate_Click" />
                                            <asp:Button ID="btnPlus" CssClass="button plus" Text="+" runat="server" CommandName='<%# Eval("ItemID") %>' OnClientClick="if (!update_qty('plus',this)) return false;" OnClick="btnUpdate_Click" />
                                            <asp:Button ID="btnDelete" runat="server" Text="x" CssClass="button remove" CommandName='<%# Eval("ItemID") %>'  OnClientClick="update_total(this);"  OnClick="btnDelete_Click" />
                                        </div>

                                    </div>

                                    <%SmallCounter=SmallCounter+1 %>
                                </ItemTemplate>
                            </asp:Repeater>
                            <!-- item -->
                        </div>
                    </ContentTemplate>
                    <Triggers>
                    </Triggers>
                </asp:UpdatePanel>

有任何想法吗?

4

2 回答 2

0

您是否收到任何 javascript 错误?检查使用萤火虫/其他工具?

错误可能会干扰 updatepanel 回发事件。

于 2013-08-21T11:21:10.613 回答
0

不需要返回客户端函数,否则服务器端不会触发

OnClientClick="return update_total(this);"  OnClick="btnDelete_Click"

确保“update_total()”“返回 true;” 如果你想回发。

于 2013-08-21T11:39:25.050 回答