Asp.net mvc 4 复选框未出现在Request.Form(NameValueCollection)中

Asp.net mvc 4 复选框未出现在Request.Form(NameValueCollection)中,asp.net-mvc-4,Asp.net Mvc 4,我在MVC4.0中创建了一个方法,它在表单中接受Request.formnamevalueCollection。我在复选框和单选按钮中遇到了下面的问题 我用下面的代码动态添加了复选框或单选按钮,并将表单值集合设置为NameValueCollection formsCollection=Request。表单位于我的一个控制器方法中,但该复选框或单选按钮不位于formsCollection.AllKeys中,而其他控件(如文本框、文本区域、下拉列表)将正常工作 <form> &l

我在MVC4.0中创建了一个方法,它在表单中接受Request.formnamevalueCollection。我在复选框和单选按钮中遇到了下面的问题

我用下面的代码动态添加了复选框或单选按钮,并将表单值集合设置为NameValueCollection formsCollection=Request。表单位于我的一个控制器方法中,但该复选框或单选按钮不位于formsCollection.AllKeys中,而其他控件(如文本框、文本区域、下拉列表)将正常工作

<form>
    <div class="divLeft div1" id="div83ac0fad-41d5-40e5-99cd-f99ea8877b04">
       <div class="control-group">
          <label class="control-label">Checkbox 2</label>
         <div class="controls">
             <div id="cfCheckbox">
                <label>Option 1</label> 
                <input type="checkbox" id="checkbox83ac0fad-41d5-40e5-99cd-f99ea8877b04" name="checkbox83ac0fad-41d5-40e5-99cd-f99ea8877b04">&nbsp;
                <label>Option2</label> 
                <input type="checkbox" id="checkbox83ac0fad-41d5-40e5-99cd-f99ea8877b04"  name="checkbox83ac0fad-41d5-40e5-99cd-f99ea8877b04">&nbsp;
             </div>
          </div>
       </div>
    </div>
</form>
在两个复选框和主分区上都有id=checkbox83ac0fad-41d5-40e5-99cd-f99ea8877b04。HTML中的id应该是唯一的

删除复选框上的ID。这会解决你的问题


FormsCollection使用名称进行绑定,而不是ID。因此,您并不需要元素具有ID。

删除ID或使其唯一。保持名字相等,这没有意义。两个复选框的名称相同。由于未选中的复选框不会发回,因此您可能无法获得任何内容(无论是未选中的还是重复的)发回,或者只有1个,您如何知道选中了哪一个。学习MVC的基础知识,特别是如何使用视图模型和强类型帮助程序生成正确的html,并在发回时绑定到模型。我从复选框中删除了Id,但仍然没有成功保存它。我为复选框生成唯一Id并分配给它,但请求中仍然没有复选框。Formback代码位于函数void GenerateDetailEntityDetail ED{NameValueCollection formsCollection=Request.Form;var item=from formsCollection.AllKeys select key;}