updatepanel内容模板中的按钮未触发

时间:2013-08-21 09:32:24

标签: asp.net updatepanel

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

有效的按钮是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>

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

不需要返回 clientSidefunction,否则serverSide将不会触发

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

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