【问题标题】:how to get value of unchecked checkbox in C#如何在C#中获取未选中复选框的值
【发布时间】:2016-04-26 06:39:32
【问题描述】:

我正在动态创建复选框。

假设我通过单击我编写的添加按钮添加了另外 2 个复选框。现在我有

 <input id="personalized1"  name="personalized" type="checkbox" class="form-control" />

 <input id="personalized2"  name="personalized" type="checkbox" class="form-control" />

 <input id="personalized3"  name="personalized" type="checkbox" class="form-control" />

当我提交时,我试图通过 Request.Form("personalized"); 获取选中和未选中的列表。但我得到 ["ON","ON"]。我无法获得未经检查的值。

【问题讨论】:

  • 您可以简单地将runat="server" 添加到其中的每一个上,然后在提交方法中检查personalized2.Checked。对你有帮助吗?
  • 因为我是在客户端动态创建它们,这将不起作用,因为每次添加复选框时我都需要更新控件
  • 啊,对不起,伙计们,没有从帖子中得到。可以考虑js方案吗?
  • 你是说我收集所有值并进行 ajax 发布调用?
  • 未选中的复选框不作为 HTML 标准包含在表单提交中。你需要做一些事情,比如使用隐藏字段stackoverflow.com/questions/1809494/…

标签: c# asp.net .net checkbox


【解决方案1】:

创建一个隐藏的输入字段可能是一个解决方案。但是,当我这样做时,我使用以下语法像您一样动态创建了输入字段。

<input id='Name' type='checkbox' value='Yes' name='22'>

如果您可以在服务器端引用 id(上面给出的名称),这将起作用。我遍历接收到的Request.Form 数据并检查每个键值对的ON 值,如果该值打开则复选框为真。然后我检查了所有缺失的值以确定哪些是假的。

【讨论】:

    【解决方案2】:

    你必须使用“技巧”, 添加输入和隐藏字段,示例

    <input type="checkbox" name="testbox1" value="1">
    <input type="hidden" name="testbox1" value="0">
    

    然后你会收到

    testbox1=1 如果复选框被选中

    如果未选中该框,则 testbox1=0

    【讨论】:

      猜你喜欢
      • 2013-09-15
      • 2013-11-14
      • 2012-04-08
      • 1970-01-01
      • 2016-06-01
      • 2023-03-18
      • 2015-01-31
      • 1970-01-01
      相关资源
      最近更新 更多