0

在用户从下拉列表中进行一些选择后,我有一个带有一个边界字段的网格视图,该字段在代码隐藏中填充。这填充得很好,但我在 TemplateFields 中还有另外两列带有复选框。这些永远不会显示在此网格视图中。这是aspx:

<asp:UpdatePanel ID="clientServerUpdatePanel" runat="server">
        <ContentTemplate>
            <asp:GridView ID="clientServerGridView" runat="server" AutoGenerateColumns="False">
                <Columns>
                    <asp:BoundField HeaderText="Operating System" DataField="OS" />
                    <asp:TemplateField HeaderText="Client" >
                        <asp:ItemTemplate>
                            <asp:CheckBox runat="server" ID="clientCheckBox" Checked="false" />
                        </asp:ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Server">
                        <asp:ItemTemplate>
                            <asp:Checkbox runat="server" ID="serverCheckBox" Checked="false" />
                        </asp:ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
        </ContentTemplate>
    </asp:UpdatePanel>

这是放置在单击事件处理程序中的相关代码隐藏:

Dim dt As DataTable = New DataTable()
dt.Columns.Add(New DataColumn("OS", System.Type.GetType("System.String")))

For Each OSItem As ListItem In Me.defaultOSesListBox.Items
    If Not OSItem.Selected Then
        Continue For
    End If

    Dim dr As DataRow = dt.NewRow()
    Dim os As String = OSItem.Text
    dr("OS") = os
    dt.Rows.Add(dr)
Next

Me.clientServerGridView.DataSource = dt
Me.clientServerGridView.DataBind()

有谁知道我的问题的根源是什么?

编辑:我需要包含复选框

<ItemTemplate>

代替

<asp:ItemTemplate>
4

1 回答 1

2

我发现了这个问题。我把复选框包裹在

<asp:ItemTemplate>

应该是什么时候

<ItemTemplate>  

当我进行此更改时,问题立即得到解决。

于 2013-01-09T21:03:11.043 回答