ASP GridView未在浏览器源页面中显示为表格

时间:2017-01-19 21:38:32

标签: jquery asp.net

我在更新面板中有一个GridView,它包含股票代码信息,并根据用户搜索股票代码绑定到DataSource。

当用户搜索股票代码时,结果返回正常,还有2个文本框和一个标签字段添加到gridview中的每一行,该行将获取订单数量和行折扣的用户输入,最后分别显示行总数

我现在正在尝试使用onkeyup事件和JQuery来为这些文本框计算行总数,但没有任何作用。我已经做了一些检查,看到网格视图没有在网页的源代码中以HTML表格格式填充,这让我相信JQuery无法找到控件ID,这意味着它不会能够在触发onkeyup事件时进行计算。有什么我需要寻找的:

ASP:

<asp:UpdatePanel ID="upAddOrderItems" runat="server">
                                <ContentTemplate>
                                <div class="row">
                                    <div class="col-md-12">
                                        <asp:GridView ID="grvStockCodes"
                                            runat="server"
                                            AutoGenerateColumns="False"
                                            CssClass="table table-striped"
                                            AlternatingRowStyle-BackColor="#E4EAEE">
                                            <HeaderStyle HorizontalAlign="Center" />
                                            <AlternatingRowStyle BackColor="#E4EAEE" />
                                            <Columns>
                                                <asp:TemplateField HeaderText="StockCode">
                                                    <HeaderStyle CssClass="col-md-1 col-sm-1" />
                                                    <ItemStyle CssClass="col-md-1 col-sm-1" />
                                                    <ItemTemplate>
                                                        <div style="float: left">
                                                            <asp:Label ID="lblStockCode"
                                                                Text='<%# DataBinder.Eval(Container.DataItem, "StockCode") %>'
                                                                runat="server">
                                                            </asp:Label>
                                                        </div>
                                                    </ItemTemplate>
                                                </asp:TemplateField>
                                                <asp:TemplateField HeaderText="Description">
                                                    <HeaderStyle CssClass="col-md-5 col-sm-5" />
                                                    <ItemStyle CssClass="col-md-5 col-sm-5" />
                                                    <ItemTemplate>
                                                        <div style="float: left">
                                                            <asp:Label ID="lblDescription"
                                                                Text='<%# DataBinder.Eval(Container.DataItem, "Description") %>'
                                                                runat="server">
                                                            </asp:Label>
                                                        </div>
                                                    </ItemTemplate>
                                                </asp:TemplateField>
                                                <asp:TemplateField HeaderText="Price(excl)">
                                                    <HeaderStyle CssClass="col-md-1 col-sm-1" />
                                                    <ItemStyle CssClass="col-md-1 col-sm-1" />
                                                    <ItemTemplate>
                                                        <div style="float: left">
                                                            <asp:Label ID="lblPrice"
                                                                Text='<%# DataBinder.Eval(Container.DataItem, "SellingPrice") %>'
                                                                ItemStyle-CssClass="price"
                                                                runat="server">
                                                            </asp:Label>
                                                        </div>
                                                    </ItemTemplate>
                                                </asp:TemplateField>
                                                <asp:TemplateField HeaderText="OrderQty">
                                                    <HeaderStyle CssClass="col-md-1 col-sm-1" />
                                                    <ItemStyle CssClass="col-md-1 col-sm-1" />
                                                    <ItemTemplate>
                                                        <div style="float: left">
                                                            <asp:TextBox ID="txtOrderQty" onKeyUp="CalculateTotals();"
                                                                runat="server">
                                                            </asp:TextBox>
                                                        </div>
                                                    </ItemTemplate>
                                                </asp:TemplateField>
                                                <asp:TemplateField HeaderText="Discount">
                                                    <HeaderStyle CssClass="col-md-1 col-sm-1" />
                                                    <ItemStyle CssClass="col-md-1 col-sm-1" />
                                                    <ItemTemplate>
                                                        <div style="float: left">
                                                            <asp:TextBox ID="txtDiscount"
                                                                runat="server">
                                                            </asp:TextBox>
                                                        </div>
                                                    </ItemTemplate>
                                                </asp:TemplateField>
                                                <asp:TemplateField HeaderText="LineTotal(excl))">
                                                    <HeaderStyle CssClass="col-md-1 col-sm-1" />
                                                    <ItemStyle CssClass="col-md-1 col-sm-1" />
                                                    <ItemTemplate>
                                                        <div style="float: left">
                                                            <asp:Label ID="lblLineTotal"
                                                                runat="server"
                                                                Text ="0.00">
                                                            </asp:Label>
                                                        </div>
                                                    </ItemTemplate>
                                                </asp:TemplateField>
                                            </Columns>
                                        </asp:GridView>
                                    </div>
                                </div>
                                    <div class="divider gap-top-20 gap-bottom-45"></div>
                                    <asp:Button ID="btnConfirmOrderDetails" runat="server" Text="Confirm Order Details" CssClass="btn btn-primary pull-right" OnClick="btnConfirmOrderDetails_Click" />
                                </ContentTemplate>
                            </asp:UpdatePanel>

JQuery的

&#13;
&#13;
<script type="text/javascript">
        $(function CalculateTotals() {
            $("[id*=txtOrderQty]").val("0");
        });
        $("[id*=txtOrderQty]").live("change", function () {
            if (isNaN(parseInt($(this).val()))) {
                $(this).val('0');
            } else {
                $(this).val(parseInt($(this).val()).toString());
            }
        });
        $("[id*=txtOrderQty]").live("keyup", function () {
            if (!jQuery.trim($(this).val()) == '') {
                if (!isNaN(parseFloat($(this).val()))) {
                    var row = $(this).closest("tr");
                    $("[id*=lblLineTotal]", row).html(parseFloat($(".price", row).html()) * parseFloat($(this).val()));
                }
            } else {
                $(this).val('');
            }
        });
    </script>
&#13;
&#13;
&#13;

0 个答案:

没有答案