我有一个Gridview控件,里面有多个复选框。
我的要求是:如果我选中一个复选框,那么关于该列的值将存储在隐藏字段中,一旦我点击“分配”按钮,这些值将被存储到数据库中,并且还会重定向到另一个页面。隐藏的字段值。
是否有可能使用c#而不是Javascript来解决这个问题?因为,我无法使用c#将值存储到hiddenfield中。
答案 0 :(得分:2)
我认为您应该查看以下网址:
Delete data on gridview checkbox selection
在上面的链接中,已经实现了使用多个复选框删除记录的相同示例。 你可以从中得到一个想法。它会帮助你很多。
答案 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)
我认为在这种情况下没有使用隐藏字段。
您可以遍历网格,对复选框进行类型转换,检查复选框是否已选中,然后获取该行的值。如果选中了多行,则可以在列表中添加所有值,并在单击“分配”按钮时执行操作。
要将值传送到另一个屏幕,请将所需信息放入会话变量中。
干杯!!