如何在C#中获取未选中复选框的值

时间:2016-04-25 22:03:27

标签: c# asp.net .net checkbox

我正在动态创建复选框。

让我说我通过点击我写的添加按钮添加另外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来获取已检查和未检查的列表(&#34;个性化&#34;);但我得到了[&#34; ON&#34;,&#34; ON&#34;]。我无法获得未经检查的价值。

2 个答案:

答案 0 :(得分:1)

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

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

如果你可以在服务器端引用上面给出的id,这可以工作。我遍历了收到的Request.Form数据并检查了每个键值对的ON值,如果值为on则复选框为true。然后我检查了所有缺失的值,以确定哪个是假的。

答案 1 :(得分:1)

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

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

然后你会收到

如果选中此框,

testbox1 = 1

如果未选中该框,

testbox1 = 0