问题标签 [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 投票
1 回答
37 浏览

asp.net-core - 将 GET 请求映射到操作

我正在尝试验证属于 BeginCollectionItems 服务器端的进度数量(以及其他字段)。正在发送请求,但操作未读取参数 progressQty。

这是我试图映射到的操作:

这是请求:

:method: GET :path: /Components/CheckValidProgressQty?ProgressItems%5B16bad1f2-155c-4a29-844c-34e88da80b7c%5D.ProgressQty=-300

这是查询字符串参数:

ProgressItems[16bad1f2-155c-4a29-844c-34e88da80b7c].ProgressQty: -300

这是视图模型类中的远程验证:

[远程(操作:“CheckValidProgressQty”,控制器:“组件”,HttpMethod =“GET”,ErrorMessage =“坏数量!”)] public int ProgressQty { get; 放; }

现在它进入 CheckValidProgressQty 方法,但我无法访问 progressQty 参数。我可以访问的一种方法是:

请求.查询字符串.值

?ProgressItems%5B16bad1f2-155c-4a29-844c-34e88da80b7c%5D.ProgressQty=-8

并解析它。但我认为应该有更简单的东西可用。

0 投票
2 回答
157 浏览

c# - 当父视图具有相同的模型时,如何在部分视图中获取 HTML 表单数据以进行序列化?

我有一个视图,其中包含几个具有不同模型的部分视图,除了一个,它与父视图具有相同的模型。原因是,父视图代表一个风险,部分视图是根据风险是“电机”还是“非电机”来加载的。Motor 和 Non-Motor 局部视图都使用在 Risk 父视图中找到的相同模型。

我正在使用 Html.BeginCollectionItem 方法并在提交时序列化表单数据,以尝试在用于父视图模型的同一类中检索所述数据(风险)。提交设法收集除了在电机和非电机部分视图中找到的数据之外的所有数据。目标是在与父视图中的风险模型相同的对象中序列化电机/非电机部分视图中的数据,但是,当我调试接收方法时,部分视图中收集的所有属性要么为空或 0,尽管实际上在表单中输入了值。

如何让风险项包含所有数据,而不仅仅是在部分视图之外输入的数据?

0 投票
1 回答
92 浏览

c# - HTM BeginCollectionItem 仅返回集合的第一项

我有以下问题:

“礼物”的集合作为参数传递给视图。此集合中的每个项目都是模型类“Gift”中的一个对象。这个类中只有两个属性:名称和价格。为了简单起见,我将类放在控制器中。

这是动作方法:

在视图中,我可以动态地将新项目添加到集合中,这要归功于 BeginCollectionItem Html 帮助器。

这是我的观点:

这是名为“GiftEditorRow”的局部视图:

在我的控制器内部,我也有这个动作方法:

只有集合中已经存在的第一项被传递到我的控制器中的 HTTP Post 方法。

在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
38 浏览

jquery - ajax POST 到 MVC 控制器后,没有使用 jQuery 删除 Div

我正在使用BeginCollectionItem将项目(在本例中为 Comments)动态添加到列表中。在尝试“删除”一个项目时,我遇到了一个问题。我可以使用以下代码使用 jQuery 从 UI 中删除“现有”项目,而不会出现问题:

但是该代码不会删除刚刚添加到视图中且尚未保存到数据库中的项目。

另一个问题是,在从数据库中删除之前,我不想将其从 UI 中删除。我尝试在 ajax 调用的成功函数中使用相同的代码,但现在它不会从 UI 中删除 div。ajax 调用有效,但是当它是删除行时,它不会更新 UI。

更新

将 ajax 部分更改为此允许删除 UI 中的 div,但现在在简要向我显示它删除了 div 后,它会将我重定向到我的应用程序的登录页面。

0 投票
1 回答
131 浏览

jquery - 单击删除按钮重定向到日志记录页面

我正在使用BeginCollectionItem将项目动态添加到列表中。如果我尝试单击新添加的行,应用程序会立即停止并将我重定向到登录页面。如果我删除一个已经存在的项目,它会从数据库中删除它,然后从 UI 中删除它,然后将我重定向到登录页面。如果该项目是新添加的,它甚至不会运行 delete.onClick 中的代码,但它们最终都会将我重定向到登录屏幕。

我在尝试追加 div 时遇到了类似的问题,并被告知要添加:

我试过了,但它并没有阻止我的应用程序停止并重定向到登录页面。这是我的删除代码:

这是部分视图:

这是控制器中的删除代码:

更新:

将删除代码放入 document.ready 后,删除现有行的 ajax 部分现在可以正常工作。但是,在不先保存该行的情况下尝试添加和删除该行仍然是重定向。现在适用于“现有”行的新删除代码如下:

我是 jQuery 新手,我正在尝试理解并让我的项目正常工作。

0 投票
0 回答
20 浏览

asp.net-mvc - MVC 项目集合返回空

我有一个使用 BeginCollectionItem (CollectionEditingHtmlExtension) 的部分视图绑定。我可以毫无问题地创建列表,但是在发布操作时返回发布的模型数据集合 (public List PerchaceOrderItems { get; set; }) 返回空。任何帮助,将不胜感激。

我的模型,

这些是正在使用的视图,

  1. 请求.chtml

主请求视图,用于将模型数据传递给部分视图。

}
  1. _PerchaceOrder 部分视图

  1. _PerchaceOrderItem

    }

0 投票
2 回答
126 浏览

asp.net-core - asp.net 核心开始收集项目核心不适用于剑道控件

我在 asp.net 核心中使用了 BeginCollectionItem。在这个集合中,我使用了剑道组合框和日期选择器,这两个数据在发布数据时都没有与模型列表绑定。任何人都知道它。

下面是cshtml文件的代码示例

当我看到$("#formid").serialize()控制台时。我找到了以下结果。

检查日期应该在哪里oBatchDetails%5B25e11650-70cd-4d04-9fe0-4ce0e621cbfd%5D.CheckDate=12%2F27%2F2021&

但开始收集项目不能处理这个剑道日期选择器。