从数据网格捕获选中的值

本文关键字:数据 数据网 网格 | 更新日期: 2023-09-27 18:33:36

我继续收到错误

对象未设置为对象的实例

我需要更改什么才能成功执行此代码?

.HTML

<td valign="top" style="text-align: left; width: 200px;">
<asp:GridView runat="server" ID="datagridTest" AutoGenerateColumns="false" GridLines="Both" ShowFooter="true" >
<Columns>
<asp:BoundField DataField="field1" HeaderText="1st Set" />
<asp:BoundField DataField="field2" HeaderText="2nd Set" />
<asp:TemplateField>
    <ItemTemplate>
        <asp:Label runat="server" Text='<%#Eval("categoryID") %>' ID="managerID" Visible="false"></asp:Label>
     </ItemTemplate>
    <ItemTemplate>
        <asp:CheckBox ID="Checked" runat="server" AutoPostBack="false" Checked='<%# Convert.ToBoolean(Eval("Checked")) %>' />
    </ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>                                
<asp:Button runat="server" ID="btnChecked" CssClass="Buttons" Text="Add" OnClick="btnC_Click" />
</td>

C#

protected void btnC_Click(object sender, EventArgs e)
{
try
{
    foreach (GridViewRow row in datagridTest.Rows)
    {
        string ID = ((Label)row.FindControl("managerID")).Text;
        if (row.RowType == DataControlRowType.DataRow)
        {
            CheckBox chk = (CheckBox)row.FindControl("Checked");
            if (chk.Checked) {}
            else {}
        }
    }
}
catch (Exception exception) { throw exception; }
}

从数据网格捕获选中的值

在您的

HTML 中,您将网格视图 ID 设置为

ID="datagridTest"

但在你背后的代码中使用"dgRD".这可能是你问题的根源。