C# asp.net mvc@Html.CheckBoxFor
我的表格中有复选框C# asp.net mvc@Html.CheckBoxFor,c#,.net,asp.net-mvc,asp.net-mvc-4,razor,C#,.net,Asp.net Mvc,Asp.net Mvc 4,Razor,我的表格中有复选框 我在我的模型上加了一句 using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace CorePartners_Site2.Models { public class CareerForm { //.... public List<CheckBoxes> EmploymentType { get;
我在我的模型上加了一句
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace CorePartners_Site2.Models
{
public class CareerForm
{
//....
public List<CheckBoxes> EmploymentType { get; set; }
}
}
public class CheckBoxes
{
public string Text { get; set; }
public bool Checked { get; set; }
}
但是我弄错了怎么了?
复选框for
接受一个bool
,您正在向它传递一个列表。您需要执行以下操作:
@for (int i = 0; i < Model.EmploymentType.Count; i++)
{
@Html.CheckBoxFor(m => m.EmploymentType[i].Checked, new { id = "employmentType_" + i })
@Html.HiddenFor(m => m.EmploymentType[i].Text)
@Html.DisplayFor(m => m.EmploymentType[i].Text)
}
使用此代码:
@for (int i = 0; i < Model.EmploymentType.Count; i++)
{
@Html.HiddenFor(m => m.EmploymentType[i].Text)
@Html.CheckBoxFor(m => m.EmploymentType[i].Checked, new { id = "YourId" })
}
@for(int i=0;im.EmploymentType[i].Text)
@CheckBoxFor(m=>m.EmploymentType[i]。选中,新建{id=“YourId”})
}
Html。CheckBoxFor
需要一个Func
作为第一个参数。因此,您的lambda必须返回一个bool
,您当前正在返回列表的一个实例:
您需要迭代列表
,以输出每个复选框:
@for (int i = 0; i < Model.EmploymentType.Count; i++)
{
@Html.HiddenFor(m => m.EmploymentType[i].Text)
@Html.CheckBoxFor(m => m.EmploymentType[i].Checked,
new { id = string.Format("employmentType_{0}", i) })
}
@for(int i=0;im.EmploymentType[i].Text)
@Html.CheckBoxFor(m=>m.EmploymentType[i]。选中,
新的{id=string.Format(“employmentType_{0}”,i)})
}
如果在同一时间只选中一个复选框,请改用RadioButton:
@Html.RadioButtonFor(model => model.Type,1, new { @checked = "checked" }) fultime
@Html.RadioButtonFor(model => model.Type,2) party
@Html.RadioButtonFor(model => model.Type,3) next option...
如果可以同时检查一个或多个,请使用优秀的扩展名::
希望,这会有帮助@Heidel是的,我试过了,但我得到了这个。怎么了?我应该在我的模型中添加一些东西吗?@Heidel检查我的编辑,你需要填充EmploymentType
列表。@Heidel名称必须是这样的,这样当你发布表单时,模型绑定器可以正确绑定回你的列表。
model => model.EmploymentType
@for (int i = 0; i < Model.EmploymentType.Count; i++)
{
@Html.HiddenFor(m => m.EmploymentType[i].Text)
@Html.CheckBoxFor(m => m.EmploymentType[i].Checked,
new { id = string.Format("employmentType_{0}", i) })
}
@Html.RadioButtonFor(model => model.Type,1, new { @checked = "checked" }) fultime
@Html.RadioButtonFor(model => model.Type,2) party
@Html.RadioButtonFor(model => model.Type,3) next option...