【问题标题】:How to get the Id from Gridview of Chechbox.checked?如何从 Checkbox.checked 上的 Gridview 获取 Id?
【发布时间】:2015-12-31 13:55:01
【问题描述】:

我有 GridView 和一个按钮,如下所示。然后我将gridview与我的数据库中的数据绑定。 GridView 有两个隐藏字段,分别用于 Id 和 ClassIndex。 当我选择一个复选框并单击按钮时,我想获取相应的 Id 和 FileName。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
         <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:CheckBox ID="check" runat="server" />
                </ItemTemplate>
            </asp:TemplateField>

            <asp:TemplateField>
                <ItemTemplate>
                    <asp:HiddenField ID="hdfId" runat ="server" Value='<%#Eval("Id") %>' />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:HiddenField ID="hdfClssIndex" runat ="server" Value='<%#Eval("ClassIndex") %>' />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:Label ID="lblFileName" runat ="server" Text='<%#Eval("FileName") %>' />
                </ItemTemplate>
            </asp:TemplateField>
         </Columns>
    </asp:GridView>

和按钮喜欢

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
        Text="Send Request" />

按钮后面的代码是

protected void Button1_Click(object sender, EventArgs e)
{
    foreach (GridViewRow row in GridView1.Rows)
    {
       var check = row.FindControl("check") as CheckBox;
       if (check.Checked)
       {
         int Id = Convert.ToInt32(row.Cells[1].Text);
         //some logic follws here
       }
    }
}

但我收到类似

的错误

输入字符串的格式不正确。 错误是什么以及如何解决?

【问题讨论】:

    标签: c# asp.net gridview


    【解决方案1】:

    您的循环正确。

    但是你忘了注意一件事,当你想访问CheckBox 时,你在row 上做了一个FindControl。这意味着您正试图在该行中找到一些控制。

    那你为什么要使用row.Cell[1].Text 访问行内的HiddenField 控件?
    试着找到那个。

    int Id = Convert.ToInt32(((HiddenField)row.FindControl("hdfId")).Value);

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-08
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    相关资源
    最近更新 更多