【问题标题】:store and retrieve data from hidden field from gridview control从 gridview 控件存储和检索隐藏字段中的数据
【发布时间】:2013-11-27 05:53:31
【问题描述】:

我有一个带有多个复选框的 Gridview 控件。

我的要求是:如果我选择一个复选框,那么与该列相关的值将存储在隐藏字段中,一旦我单击分配按钮,这些值将存储到数据库中,并使用隐藏字段值。

是否可以使用 c# 而不是 Javascript 来解决这个问题?因为,我无法使用 c# 将值存储到隐藏字段中。

【问题讨论】:

  • 答案肯定需要存在于 JS 方面,但为什么将值存储在隐藏字段而不是适当范围的 JS 变量中?
  • if I select one checkbox, then the values with respect to that column will be store in hidden field and once I click on assign button, the values will be stored into database and also redirect to another page with the hidden field values.,如果选中了不止一行的复选框,哪些值会被保存并显示在重定向页面上?
  • @KarlAnderson 如果选中多个复选框,则相应的行值将存储到数据库中并重定向到同一页面。因为,我在“分配”按钮的点击事件中只重定向到一页。

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


【解决方案1】:

我认为你应该检查以下网址:

Delete data on gridview checkbox selection

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      你可以试试这个……

      <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); 
              }
          }
      }
      

      【讨论】:

        【解决方案4】:

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

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

        要将值带到另一个屏幕,请将所需信息放入 Session 变量中。

        干杯!!

        【讨论】:

          猜你喜欢
          • 2023-03-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多