从gridview控件中隐藏字段存储和检索数据

时间:2013-11-27 05:53:31

标签: c# asp.net gridview hidden-field

我有一个Gridview控件,里面有多个复选框。

Gridview with checkboxes as my design page

我的要求是:如果我选中一个复选框,那么关于该列的值将存储在隐藏字段中,一旦我点击“分配”按钮,这些值将被存储到数据库中,并且还会重定向到另一个页面。隐藏的字段值。

是否有可能使用c#而不是Javascript来解决这个问题?因为,我无法使用c#将值存储到hiddenfield中。

4 个答案:

答案 0 :(得分:2)

我认为您应该查看以下网址:

Delete data on gridview checkbox selection

在上面的链接中,已经实现了使用多个复选框删除记录的相同示例。 你可以从中得到一个想法。它会帮助你很多。

enter image description here

答案 1 :(得分:0)

实现此目的的一种方法是通过单击“分配”按钮循环遍历所有行,以找出所有行都选中了复选框。然后你可以继续你的逻辑。

答案 2 :(得分:0)

你可以试试这个......

<asp:gridview runat="server">
    <asp:TemplateField>     
        <ItemTemplate>       
            <asp:CheckBox ID="chkSelItem" runat="server" />     
            <asp:Label ID="lblSelectedItem" value=<%# Eval("Key.Id")) %> 
                       visible="False"/>
        </ItemTemplate> 
    </asp:TemplateField>
</asp:gridview>

在代码背后尝试这个

protected void btnClick_Click(object sender, EventArgs e)
{ 
    foreach (GridViewRow row in gridDepartments.Rows)         
    {             
        CheckBox chkSelItem = (CheckBox)row.FindControl("chkSelItem");
        Label lblSelectedItem= (Label)row.FindControl("lblSelectedItem");

        if (chkSelItem.Checked) 
        {
            int departmentId = int.Parse(lblSelectedItem.Text); 
        }
    }
}

答案 3 :(得分:0)

我认为在这种情况下没有使用隐藏字段。

您可以遍历网格,对复选框进行类型转换,检查复选框是否已选中,然后获取该行的值。如果选中了多行,则可以在列表中添加所有值,并在单击“分配”按钮时执行操作。

要将值传送到另一个屏幕,请将所需信息放入会话变量中。

干杯!!