只有在我使用TextBoxFor()
时才会出现此问题,而TextBox()
没有问题:
@model IEnumerable<DataLayer.MobileMgt.Brand>
@Html.TextBoxFor(a => a.Name, new { @class = "form-control"})
TextBoxFor
显示此错误:
无法从用法推断出类型参数。尝试明确指定类型参数。
答案 0 :(得分:1)
您正在传递IEnumerable类型,您必须在没有IEnumerable包装器的情况下传递该对象,因为您尝试与对象强烈绑定。匿名类型将被视为您传递的模型。
@model DataLayer.MobileMgt.Brand
@Html.TextBoxFor(a => a.Name, new { @class = "form-control"})
如果您想使用Ienumable执行此操作,可以通过编写如下的foreach来执行此操作,但请确保标识符ID不会重复。
foreach(var item in Model)
{
@Html.TextBoxFor(modelitem => item.Name, new { @class = "form-control"})
}
答案 1 :(得分:0)
由于您的模型是IEnumerable
,因此您需要遍历它以获取模型数据。你跟随的方式是错误的。
@for (int i = 0; i < Model.Count(); i++)
{
@Html.TextBoxFor(a => a[i].Name, new { @class = "form-control"})
}
编辑:
将@model IEnumerable<DataLayer.MobileMgt.Brand>
更改为@model IList<DataLayer.MobileMgt.Brand>