我在将数据从单选按钮传递到模型时遇到问题。
这在我的控制器中:
ViewBag.allProjectAreas = db.ProjectAreas.ToList();
这在我看来:
@foreach (var a in ViewBag.allProjectAreas)
{
@Html.RadioButtonFor(m => m.ProjectAreaID, a.ProjectAreaID)
@a.ProjectAreaName
}
我认为代码应该是这样的。我对可视化ProjectAreaName没有问题,但我无法将数据从选中的单选按钮发送到模型。
这就是错误:
"编译器错误消息:CS1973:"System.Web.Mvc.HtmlHelper"没有名为"RadioButtonFor"的适用方法,但似乎有一个同名的扩展方法。无法动态调度扩展方法。请考虑强制转换动态参数或在不使用扩展方法语法的情况下调用扩展方法。"
将类型从动态转换为实际。
@foreach (var a in ViewBag.allProjectAreas as List<-*here comes your model*-)
{
@Html.RadioButtonFor(m => m.ProjectAreaID, a.ProjectAreaID)
@a.ProjectAreaName
}
它说它不能理解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;
}