当我单击“ Submitvales”按钮时,出现错误消息:
无法创建类型的实例 'PagedList.IPagedList`1 [[Modelname,projectName,Version = 1.0.0.0, 文化=中性,PublicKeyToken =空]]”。模型绑定的复杂类型 不得为抽象或值类型,并且必须具有无参数 构造函数。
由于上述错误,我添加了默认构造函数,然后又收到另一条错误消息:
InvalidOperationException:接受所有给定的多个构造函数 参数类型已在“控制器名称”类型中找到。应该 只能是一个适用的构造函数。
代码更新: 型号:
class ModelName
{
public int ID{get;set;}
public string Name{get;set;}
public List<ModelName> ModelNameList{get;set;}
public IPagedList<ModelName> ModelNamePagedList{get;set;}
}
控制器:
public class ControllerName : Controller
{
public ActionResult Index()
{
var modelName = new ModelName();
modelName.ModelNameList = this.SomeMethodWhichreturnslistOfModelNames();
modelName.ModelNamePagedList = this.SomeMethodWhichreturnslistOfPagedModelNames();
return View(modelName);
}
public ActionResult Save(ModelName _modelName)
{
// _modelName contains values of 'ModelNameList' but not 'ModelNamePagedList'
}
}
查看:
@model ModelName
@using (Html.BeginForm("Save", "ControllerName", FormMethod.Post))
{
<input type="submit" value="Save" class="btn btn-info" />
@for (int i = 0; i < Model.ModelNamePagedList.Count(); i++)
{
@Html.DisplayFor(modelItem => Model.ModelNamePagedList[i].ID)
@Html.HiddenFor(modelItem => Model.ModelNamePagedList[i].ID)
@Html.TextBoxFor(m => Model.ModelNamePagedList[i].Name)
}
}