我在我的项目上有一个数据网格,复选框为TemplateField;但我无法访问checkbox.checked
属性。有人有什么主意吗?ASP的Datagrid复选框
我的ASP代码:
<asp:GridView ID="GVP" runat="server" AutoGenerateColumns="False" DataSourceID="DSP">
<Columns>
<asp:TemplateField HeaderStyle-Width="5%" ItemStyle-Width="5%" FooterStyle-Width ="5%">
<ItemTemplate>
<asp:CheckBox ID="SelectCb" runat="server"></asp:CheckBox>
</ItemTemplate>
<FooterStyle Width="5%"/>
<HeaderStyle Width="5%"/>
<ItemStyle Width="5%"/>
</asp:TemplateField>
<asp:BoundField DataField="Answers" HeaderText="Options" SortExpression="Answers" />
</Columns>
</asp:GridView>
我的VB代码背后:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles buttonNext.Click
Dim SelectedBox As Boolean = False
For Each row As GridViewRow In GVP.Rows
Dim cb As CheckBox = row.FindControl("SelectCb")
If cb IsNot Nothing AndAlso cb.Checked Then
SelectedBox = True
Dim RID As Integer = Convert.ToInt32(GVP.DataKeys(row.RowIndex).Value)
Else
ShowMessage("You did not select anything")
End if
尝试'SelectedBox = ctype(row.FindControl(“SelectCb”),TextBox).checked'。这应该工作。 – Minus
你是什么意思“无法访问checkbox.checked属性”?它抛出一个错误?如果是这样,错误是什么? – Razvan
当调试器进入'If cb.Checked Then'部分时;即使使用CType或DirectCast声明cb时,它也总是返回'False' –