问题标签 [begincollectionitem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
109 浏览

c# - 为什么我在模型绑定后会在集合中获得随机的 null 项?

我正在为 ASP MVC 使用包 BeginCollectionItem。我有一个要创建的表单和一个实体,它有一个 ICollection 属性。该属性需要在表单中动态填充项目。

这是 DTO 的外观:

这就是视图的样子:

练习_表格部分视图:

一切正常,当我发布 POST 时,我看到为集合中的每个项目分配了正确的索引:

问题是,有时,我的控制器中的一些练习集合的项目随机为 null

一些空值

什么可能导致这种行为?我知道如果我使用带有整数索引的 for 循环它会带来这些问题,因为我可以打破顺序绑定,但这些是 GUID 对吗?

注意:我的 Model.Exercise_Create 视图模型与 DTO 看起来几乎相同。

更新:现在我看到唯一的空项目是具有以字母开头的 GUID 索引的项目。请参阅我发布的 FormData 以确认这一点:

我没有实现任何自定义数据绑定,这很奇怪......

0 投票
0 回答
89 浏览

c# - BeginCollectionItem 和 FluentValidation

任何人都知道是否可以将 FluentValidation 与 BeginCollectionItem 一起使用,它将 GUID 附加到字段/属性名称?我能够设置验证器:

Insureds是我的收藏。ModelState 验证正确,但消息没有放在无效字段旁边:LastName

0 投票
0 回答
191 浏览

ajax - MVC Ajax 调用未正确填充“BeginCollectionItem”字符串

我有一个 PartialView 在这样调用时可以正常工作:

下一部分代码,我有一个 Ajax 调用,它返回模型并添加到 DOM:

“~/Views/FormEmailMessageEmailAddresses/_Edit.cshtml”看起来基本上是这样的:

从数据库条目填充 PartialView 时,Html.BeginCollectionItem 字符串看起来类似于EmailMessages[997a1db6-6205-4118-90e4-11013d8d33db].ToRecipients[780bd8fa-4121-4d45-8fbc-35f4b8fd3086],但是,当从 Ajax 函数调用时,它看起来像.ToRecipients[222a5fa2-70d6-4cac-afbc-e865b0a753be]

因为缺少前缀,控制器看不到新的集合。

使用HtmlFieldPrefixAjax 调用或其他我不正确的东西时没有信息,请让我知道您的想法,以便为我提供解决方案。

0 投票
0 回答
605 浏览

razor - 使用 BeginCollectionItem 在 MVC5 局部视图中添加/删除 Lineitems

我正在尝试将 EnquiryLineItems 添加/删除到报价视图中。试图跟随

但是在单击添加时会引发错误

加载资源失败:服务器响应状态为 500(内部服务器错误)

并且可能构造错误的 URl(http://localhost:53363/Enquiries/CreateLineItem?_=1505728151541- 根据错误消息)

使用 Partialview 和 Single Controller 。

视图模型:

控制器:

MainView (Enquiry-create) - 只添加了相关代码

部分视图 - _createEnquiryItem.cshtml

我在这里做错了什么。此外,这是否可以通过使用单个局部视图的更好或更简单的方法来完成?请帮忙。提前致谢。

0 投票
1 回答
1258 浏览

jquery - 使用动态创建的 PartialViews mvc5 时验证不起作用

我有一个使用 BeginCollectionItem 和部分视图动态创建/删除项目(模型视图)的视图。动态创建的视图的验证未触发。代码:主视图:

部分视图:

视图模型:

在这种情况下使用验证的类似问题在这里SO1 But didn't work 。我在视图中引用了不显眼的 Jquery 验证。请帮忙。谢谢阅读 。

0 投票
1 回答
1356 浏览

c# - 使用 ViewModels 向控制器提交动态添加的部分视图的数据不起作用

我正在将动态项目添加到查询表单中。使用部分视图来添加/删除项目,但在提交主视图时,值未绑定。我的问题是如何做同样的事情。

已在此处此处检查了几个类似的问题,但找不到丢失的内容。

使用 2 ViewModels ,用于主视图(查询)和部分视图( LineItems),并使用 BeginCollectionItem 动态添加项目。

代码:

视图模型

意见:主要:

部分观点:

控制器 :

我应该如何将动态添加的行的值映射到 ViewModel ( EnquiryVM ),以便我可以将它插入到数据库中。感谢您的耐心和时间。

0 投票
1 回答
2052 浏览

asp.net-mvc - MVC BeginCollectionItem

我在将部分视图 BeginCollectionItem 保存到数据库时遇到了一些问题。我有一个表单,它具有可以添加到页面的动态数量的“部分”,并且在每个字段中都有一个文本框,用户可以在其中输入部分名称。

据我所知,局部视图中的 BeginCollectionItem 工作正常,但是我无法将信息发布到数据库中。在我的其他表单中,我使用 [bind()] 将数据发送到数据库,是否可以将其放入列表中,然后通过绑定发布?

我在下面包含了我的代码: 模型:

cshtml:

局部视图:

控制器:

0 投票
1 回答
738 浏览

asp.net-mvc - MVC BeginCollectionItem 嵌套列表索引不起作用

我有一个运行良好的 BeginCollectionItem 中继器,但是当我尝试按照 Joe Stevens 博客添加嵌套列表时,它并没有按我预期的方式工作。

我在使用 AspNetCore 时使用了 BeginCollectionItemCore,我从这里获取了代码,因为它说它已经包含来自博客的内置元素:https ://github.com/saad749/BeginCollectionItemCore

我有一个名为 Section 的主要 BeginCollectionItem 和一个名为 SingleLine 的嵌套集合。我希望代码输出类似: Section[long-code-here].SingleLine[another-code-here].SingleLineTextBlock 但是我得到的是 SingleLine[long-code-here].SingleLineTextBlock

我在下面包含了我的代码;

模型:

部分观点:

Ajax 添加新行:

编辑为:

编辑控制器:

0 投票
1 回答
1312 浏览

asp.net-core-mvc - 将 BeginCollectionItem 与 MVC 核心一起使用

在使用 MVC 核心实现 BeginCollectionItem 时,我似乎没有遇到与大多数人相同的问题,我没有收到任何数据。

我有这个主页,上面有很多工作,但这里是向页面添加新部分的 javascript,以及将在下面添加的部分。

现在,我们有了这个部分来开始我们正在构建的表单。

然后我有这个部分部分,我们将在其中添加越来越多的内容。

帖子的回复发送到这里......

就像我之前说的,当我点击提交时,我没有得到帖子中的部分列表。

0 投票
0 回答
114 浏览

asp.net-mvc - MVC BeginCollectionItem 帮助器未绑定到视图模型中的模型实例

在 MVC5 中构建动态列表。表单将发布到控制器,我可以看到在 chrome 开发工具中正确填充了 StudentList,但在控制器中,StudentList 是空的。

模型:

看法:

部分观点:

如果我从 ViewModel 中取出 Student 实例并将其替换为学生模型属性,然后将局部视图更改为直接绑定到 Name 属性,它将起作用。

控制器岗位:

当我在帖子到达控制器之前拦截它时,我可以看到它已正确绑定,但在控制器中 StudentList 是空的。

我试图避免在视图模型中复制学生模型,因为它是重复的,并且所有验证规则都已经在学生模型中,所以我也必须在视图模型中复制所有这些,这似乎是错误的。