首页 > 解决方案 > 如果它是从 ajax 响应填充的,如何在我的 asp:Gridview 的每一行上添加一个复选框

问题描述

正如标题所说,我正在尝试为我的 asp:gridview 的每一行添加一个复选框。来自这个 gridview 的数据是从我的 ajax 得到响应后调用的函数插入的。

if (jsonResponse.ProductData.length > 0) {
                for (var i = 0; i < jsonResponse.ProductData.length; i++) {
                    $('#ctl00_Content_gvPrices').append("<tr>" +
                        "<td>" + " " + "</td>" +
                        "<td>" + jsonResponse.ProductData[i].DATA1+ "</td>" +
                        "<td>" + jsonResponse.ProductData[i].DATA2+ "</td>" +
                        "<td>" + jsonResponse.ProductData[i].DATA3+ "</td>" +
                        "<td>" + jsonResponse.ProductData[i].DATA4+ "</td>" +
                        "<td>" + jsonResponse.ProductData[i].DATA5+ "</td>" +
                        "<td>" + jsonResponse.ProductData[i].DATA6+ "</td>" +
                        "</tr>");
            }
        }

这是我用来填充 gridview 的函数。下面是我正在填充的网格视图。

<asp:GridView ID="gvPrices" runat="server" ShowHeaderWhenEmpty="true" Width="100%" >
                    <Columns>
                        <asp:TemplateField>
                            <HeaderTemplate>
                                <asp:CheckBox ID="CheckBox1" runat="server" CssClass="headerCheckBox" />
                            </HeaderTemplate>
                            <ItemTemplate>
                                <asp:CheckBox ID="CheckBox2" runat="server" CssClass="rowCheckBox" />
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>

我尝试使用 asp:TemplateField,它适用于标题,但不适用于项目。我怀疑这是因为我将空白单元格作为附加中的第一个 td,尽管我的数据进入了不正确的列,但没有这个。

知道我缺少什么吗?

标签: asp.netvb.netgridview

解决方案


可能很愚蠢,但.net 代码是在一个

if (!IsPostBack)
{
  your code here
}

我以前见过类似的问题。抱歉,如果没有帮助。


推荐阅读