我在将数据从radiobutton传递到模型时遇到了问题。
这是在我的控制器中:
ViewBag.allProjectAreas = db.ProjectAreas.ToList();
这是我的观点:
@foreach (var a in ViewBag.allProjectAreas)
{
@Html.RadioButtonFor(m => m.ProjectAreaID, a.ProjectAreaID)
@a.ProjectAreaName
}
我认为代码应该是这样的。我可以看到ProjectAreaName没有问题,但是我无法将检查过的radiobutton中的数据发送到模型。
这是错误:
"编译器错误消息:CS1973:' System.Web.Mvc.HtmlHelper'没有适用的方法名称' RadioButtonFor'但似乎有一个名称的扩展方法。无法动态分派扩展方法。考虑转换动态参数或调用扩展方法而不使用扩展方法语法。"
答案 0 :(得分:1)
从动态到实际的演员类型。
@foreach (var a in ViewBag.allProjectAreas as List<-*here comes your model*-)
{
@Html.RadioButtonFor(m => m.ProjectAreaID, a.ProjectAreaID)
@a.ProjectAreaName
}
答案 1 :(得分:0)
它说它无法理解var。明确转换
@foreach(CompleteYourModelName modelObject in ViewBag.allProjectAreas)
{
@Html.RadioButtonFor(modelObject.ProjectAreaID.ToString(), a.ProjectAreaID)
@a.ProjectAreaName
}
例如
@foreach (MVCDemo2.Models.Department dept in ViewBag.DepartmentList)
{
@Html.RadioButton("Department", dept.Id, dept.isSelected)
@dept.Name;
}