0

私はグリッドを持っています

 <Columns>
            <asp:TemplateField HeaderStyle-Width="20px">
                <ItemTemplate>
                    <asp:CheckBox ID="ChkSelect" runat="server" />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Id" Visible="false">
                <ItemTemplate>
                    <asp:Label ID="LbLId" runat="server" Text='<%# Bind("ID") %>'></asp:Label>
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:Label ID="LblId" runat="server" Text='<%# Bind("ID") %>'></asp:Label>
                </EditItemTemplate>
                <ItemStyle HorizontalAlign="Center" Width="20%" />
            </asp:TemplateField>

IDチェックされているチェックボックスのを取得したい。私はこのコードを実装しようとしました

 foreach (GridViewRow row in GvDDlToken.Rows)
            {
                CheckBox chk = row.Cells[0].Controls[0] as CheckBox;
                if (chk != null && chk.Checked)
                {

                        string id = "," + row.Cells[1].Text;


                }
            } 

ただしCheckbox chk、値がnullになると、オブジェクト参照は行われません。私がしている可能性のあるエラーは何ですか?助けてくれてありがとう。

4

1 に答える 1

1

FindControl サンプルを使用する必要があります:

foreach (GridViewRow row in GvDDlToken.Rows)
{
    if(((CheckBox)row.FindControl("CheckBox1")).Checked == true)
    {
    //some code
    }
}
于 2012-12-29T08:26:39.677 に答える