我有GridView
Checkbox control
我希望获得所选的复选框,但是当我尝试使用Gridview
使用For Each Loop
迭代正在检索的数据时是重复的。我真的不知道如何解决它。我已经解决了相同的问题或方法,我得到了相同的代码,所以我在这里失踪了吗?这是我的代码:
For Each row As GridViewRow In GridView1.Rows
If row.RowType = DataControlRowType.DataRow Then
Dim chkRow As CheckBox = TryCast(row.Cells(0).FindControl("chkRow"), CheckBox)
If chkRow.Checked Then
Dim name As String = row.Cells(1).Text
Response.Write(name)
End If
End If
Next
这是我的aspx
代码:
<asp:GridView ID="GridView1" CssClass="table table-bordered" runat="server"
CellPadding="4" ForeColor="#333333"
GridLines="None" Width="100%" DataKeyNames="ID"
AutoGenerateColumns="False">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:TemplateField HeaderText="Select">
<ItemTemplate>
<asp:CheckBox ID="chkRow" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ID" HeaderText="ID" />
<asp:BoundField DataField="Laboratory Name" HeaderText="Laboratory Name" />
<asp:BoundField DataField="Description" HeaderText="Description" />
<asp:BoundField DataField="Price" HeaderText="Price" />
</Columns>
<EditRowStyle BackColor="#2461BF" />
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#EFF3FB" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#F5F7FB" />
<SortedAscendingHeaderStyle BackColor="#6D95E1" />
<SortedDescendingCellStyle BackColor="#E9EBEF" />
<SortedDescendingHeaderStyle BackColor="#4870BE" />
</asp:GridView>
答案 0 :(得分:0)
鉴于这些信息,听起来好像是在回发时重新绑定gridview。
在您要数据绑定的代码中检查回发。
If Not IsPostBack() Then
Me.GridView1.DataBind()
End If
答案 1 :(得分:0)
如果您在页面加载时填充网格,请使用
If Not IsPostBack() Then
GridView1.DataBind() <if your you are populating data through class just add it>
or
populate(param1, param2,...)
End If
这肯定会解决您的问题