0
我有一個GridView,其中一個綁定字段在用戶從下拉列表中選擇後填充在代碼隱藏中。這個填充很好,但是我還有兩個帶有TemplateFields複選框的列。這些從不顯示在這個gridview中。 這裏的ASPX:TemplateFields中的控件在GridView中不顯示
<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>
這裏的relavent代碼隱藏這是擺在Click事件處理程序:
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>
如果您查看頁面源代碼(瀏覽器中的HTML),您能看到那裏的複選框嗎? – geedubb
@geedubb只有updatepanel的div。但是這是可以預料的,因爲這是動態填充的(我認爲?)。 編輯:對不起,我使用了鉻開發工具,所以我現在可以看到它。不,這兩個複選框列中只有' '。我不明白他們在哪裏被丟棄。 – wieders