【问题标题】:CheckBox in GridView get valueGridView中的CheckBox获取值
【发布时间】:2014-09-18 17:04:16
【问题描述】:

我有以下代码

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

复选框部分有问题吗?因为我可以获得输出“Clicked”,但似乎无法获得

的输出
Debug.WriteLine(chk.Checked)
Debug.WriteLine(lbl.Text)

另外,我在调试时无法获取 chk.Checked 的值。

【问题讨论】:

  • @Amignos 确保回发
  • @Thirisangu 什么是回发以及如何回发?抱歉,我是 vb.net 的新手
  • @Amignos IF Not IsPostBack Then GridBind()// 绑定Grid View End IF的方法

标签: vb.net gridview checkbox


【解决方案1】:

试试这个:

 If Not Page.IsPostBack Then
 GridView1.DataSourceID = dataTable
 GridView1.DataBind()
 End If

【讨论】:

  • 但我正在为网格视图使用数据表
  • @Amigos Gridview1.DataSourceID=dataTable
  • 我把你的陈述放在页面加载上,现在可以正常工作了。
猜你喜欢
  • 2013-05-03
  • 1970-01-01
  • 1970-01-01
  • 2021-07-04
  • 2016-11-06
  • 1970-01-01
  • 2016-07-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多