У меня есть следующий кодCheckBox в GridView получить значение
HTML:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="Checkbox">
<ItemTemplate>
<asp:CheckBox ID="chkb" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ID" Visible="false">
<ItemTemplate>
<asp:Label ID="lblId" runat="server" Text='<%# Eval("Id")%>'>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Label ID="lblName" runat="server" Text='<%# Eval("Name")%>'>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Country">
<ItemTemplate>
<asp:Label ID="lblCountry" runat="server" Text='<%# Eval("Country")%>'>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
код позади:
Protected Sub btnExcel_Click(sender As Object, e As EventArgs) Handles btnExcel.Click
Debug.WriteLine("Clicked")
For Each row As GridViewRow In GridView1.Rows
Dim chk As CheckBox = row.FindControl("chkb")
If chk.Checked Then
Dim lbl As Label = row.FindControl("lblId")
Debug.WriteLine(chk.Checked)
Debug.WriteLine(lbl.Text)
End If
Next
End Sub
Есть ли что-то неправильно вокруг секции CheckBox? потому что я могу получить вывод «Клики», но не могу показаться, чтобы получить выход для
Debug.WriteLine(chk.Checked)
Debug.WriteLine(lbl.Text)
Кроме того, я не могу получить значение ли chk.Checked
, когда я отладку.
@Amignos Убедитесь Postback –
@Thirisangu Что такое постбэк и как? извините, я новичок в vb.net –
@Amignos IF Not IsPostBack Then GridBind() // ваш метод привязать вид сетки Завершить IF –