ASP ListView SelectedIndexChanged /仅在Internet Explorer中为所有记录更改火灾

时间:2016-05-26 09:54:11

标签: c# asp.net vb.net listview

我有一个ASP ListView,在运行时以编程方式绑定到DataSource

Firefox和Chrome浏览器存在的问题是,只有ListView的第一条记录导致SelectedIndexChanged / Changing事件触发。所有其他选定的记录(第2,第3,第4记录等)仅导致回发,而不会触发SelectedIndecChanged / Changing事件。

奇怪的是,Internet Explorer会在每条记录(而不仅仅是第一条记录)上触发SelectedIndexChanged / Changing事件。

有谁知道我可能做错了什么?

<asp:ListView ID="lvUsersShoppingCart" runat="server" DataKeyField="ProductID" DataKeyNames="ProductID" OnSelectedIndexChanged="lvUsersShoppingCart_SelectedIndexChanged">
    <ItemTemplate>
        <div class="top-buffer">
            <div class="row">
                <div class="col-sm-3">
                    <asp:Image ID="imgProductThumbnail" class="img-responsive" runat="server" ImageUrl='<%# Eval("ThumbnailImageLocation")%>' />
                </div>
                <div class="col-sm-9">
                    <form class="form-horizontal">
                        <div class="form-group">
                            <strong>
                                <asp:Label ID="lblProductName" runat="server" Text='<%# Eval("ProductName")%>' /></strong>
                        </div>
                        <div class="form-group">
                            <asp:Label ID="lblProductShortDescription" runat="server" Text='<%# Eval("ProductShortDescription")%>' />
                        </div>
                        <div class="form-group">
                            $<asp:Label ID="lblProductPrice" runat="server" Text='<%# Eval("ProductPrice")%>' />
                            (AUD)
                        </div>
                        <div class="form-group hidden">
                            <div class="col-sm-3">
                                <label for="lblProductQuantity" class="control-label">Quantity</label>
                            </div>
                            <asp:Label ID="lblProductQuantity" class="input-sm" runat="server" Text='<%# " x " + Eval("ProductQuantity").ToString%>'></asp:Label>
                            <asp:Button ID="btnEditQuantity" runat="server" Text="Change Qty" CssClass="btn btn-link" CommandName="Edit" />
                        </div>
                        <div class="form-group">
                            <asp:Button ID="btnDelete" runat="server" Text="Remove" CssClass="btn btn-danger" CommandName="Select" />
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </ItemTemplate>
</asp:ListView>

1 个答案:

答案 0 :(得分:0)

问题是由form

中的ItemTemplate元素引起的
<form class="form-horizontal">
...
</form>

如果您将其替换为其他类型的容器(通常为div),则可以获得正确的行为:

<div class="form-horizontal">
...
</div>