ASP.NET MVC 6模型绑定到复杂集合-IList <T>

贾什

我正在尝试在asp.net mvc 6中进行后期操作,并希望正确初始化复杂的属性集合。但是它总是空的。

我正在创建具有适当索引的输入html元素:

这是用于POST的HTML FORM:

@model MainObject
<form asp-action="create" method="post">
  <input asp-for="ChildObjects[0].RollNumber" />
  <input type="submit" value="create" />
</form>

控制器代码

public async Task<IActionResult> Create(MainObject mainObj)
{
    // The mainObj.ChildObjects remains empty.
}

我的视图将仅包含一个子对象条目,这就是为什么仅使用0索引的原因。

表单数据包含上述键和值,但是当到达控制器操作时,集合属性为空,即MainObject.ChildObjects的计数为0。(注意:ChildObjects列表已经在我的MainObject构造函数中初始化了)

楷模:

public class MainObject {
   public MainObject() {
      this.ChildObjects = new List<ChildObjects>();
   }

   public IList<ChildObject> ChildObjects {get; private set;}
}

在调试模式下在构造函数中查找ModelState属性时,它为ChildObjects键显示一个错误,但错误消息过于笼统:

对象引用未设置为对象实例。

我已经在网上关注了很多关于模型绑定复杂集合的文章,但是不知怎么对我不起作用。

斯塔福德·威廉姆斯

使用声明子对象集合会private set阻止绑定器设置集合值。设置器必须为publicMVC6可以设置回发中的值;

public IList<ChildObject> ChildObjects {get; private set;} // empty on postback
public IList<ChildObject> ChildObjects {get; set;} // populated on postback

但是,count == 0当模型绑定程序调用您声明的无参数构造函数时,该集合仍会实例化(而不是null,因此也不会实例化)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Asp.net- Mvc复杂模型绑定

来自分类Dev

ASP.NET MVC无法将IList转换为IEnumerable?还尝试了将IList转换为IList并仍然出错

来自分类Dev

使用GET的ASP.Net MVC模型绑定复杂对象

来自分类Dev

ASP.NET MVC / Web API模型绑定项到集合

来自分类Dev

ASP.NET MVC绑定到视图模型

来自分类Dev

为什么带有IList for Editor的ASP.NET MVC 4无法正确编写索引符号?

来自分类Dev

ASP.NET MVC复杂模型更新

来自分类Dev

ASP.Net MVC 6 PartialView模型绑定混乱

来自分类Dev

在 ASP .Net Core MVC 2.1 模型中访问 List<T>

来自分类Dev

如何在Asp.Net MVC 4中将复杂属性绑定到多态模型中?

来自分类Dev

Asp.Net Core MVC-复杂模型在“获取控制器”操作上未绑定

来自分类Dev

实体框架和ASP.NET MVC更复杂的模型

来自分类Dev

ASP NET MVC OutputCache VaryByParam复杂对象

来自分类Dev

Json和ASP.NET MVC模型绑定

来自分类Dev

ASP.NET MVC 5模型绑定编辑视图

来自分类Dev

$ http发布不与asp.net MVC模型绑定

来自分类Dev

ASP.NET MVC中的问题模型绑定嵌套列表

来自分类Dev

ASP.NET MVC Partiel视图模型绑定

来自分类Dev

JSON的ASP.NET MVC 4递归模型绑定

来自分类Dev

ASP.NET MVC 5模型绑定不起作用

来自分类Dev

绑定[Serializable]类的ASP.Net MVC模型

来自分类Dev

ASP.NET MVC模型绑定派生类

来自分类Dev

ASP.NET MVC 5模型绑定列表为空

来自分类Dev

ASP.NET Core 3 MVC:对象列表的模型绑定

来自分类Dev

什么是ASP.NET MVC中的模型绑定?

来自分类Dev

ASP.NET MVC模型绑定未解析

来自分类Dev

ASP.NET MVC中的问题模型绑定嵌套列表

来自分类Dev

ASP.NET MVC:模型绑定中的类型转换

来自分类Dev

ASP.Net MVC模型绑定程序-忽略属性

Related 相关文章

热门标签

归档