在到达循环之前就离开循环并且没有错误

约翰

您好,我有一个包含复选框的列表,使用jquery可以检查项目ID,并将它们收集到数组中,但是循环在所有项目被检查之前结束。

这是从Url获​​取Array;

public class IntArrayModelBinder : DefaultModelBinder
    {
        public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
        {
            var value = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);
            if (value == null || string.IsNullOrEmpty(value.AttemptedValue))
            {
                return null;
            }

            return value
                .AttemptedValue
                .Split(';')
                .Select(int.Parse)
                .ToArray();
        }
    }

public ActionResult ApproveSelected([ModelBinder(typeof(IntArrayModelBinder))] int[] id)
    {

        try
        {

            var AllParticipants = Db.Participants
            .Where(m => id.Contains(m.Id))
            .OrderBy(m => m.Id)
            .ToList();

            for (int i = 0; i < AllParticipants.Count; i++)
            {

                var item = AllParticipants.First();
                item.Approval = true;

                var itemRemove = AllParticipants.First();
                AllParticipants.Remove(item);

            }

            Db.SaveChanges();
        }
        catch
        {
            return Json(new { IsComplete = false });
        }

        return Json(new { IsComplete = true });
    }

因此,如果我发送1个ID没问题。如果我发送2,如果第一个的更改批准,则留下成功消息的循环。如果我发送2,它将更改2,然后离开1。当我进行4时,它将更改2,然后离开2。当我进行5,它将更改3,然后离开2。它很尴尬。我该如何解决?

雅罗斯瓦夫·斯塔德尼基(Jaroslaw Stadnicki)

改变

for (int i = 0; i < AllParticipants.Count; i++)
        {

            var item = AllParticipants.First();
            item.Approval = true;

            var itemRemove = AllParticipants.First();
            AllParticipants.Remove(item);

        }

对此:

Db.Participants
  .Where(m => id.Contains(m.Id))
  .ToList()
  .ForEach(participant=>participant.Approval=true);

Db.SaveChanges();

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

程序在到达while循环之前结束

While循环直到没有错误

Java 8:没有错误-为什么此for循环会永远运行并且什么都不显示?

DynamoDB batchWrite在继续之前没有等待,并且没有错误吗?

SQL Cursor循环冻结,没有错误

在美丽的汤中循环/没有错误

在Python中中断循环而没有错误-Selenium

For 循环停止但没有错误但未完成

虽然循环没有到达链表的末尾

没有默认的构造函数并且没有错误

错误:尽管没有包含循环,但预期在'*'标记之前的预期')'

“到达下一个”循环会在到达“无界”之前重置计数器,从而导致无限循环...可能的名称/引用冲突?

已经有“做”但仍然有错误“没有做的循环”,excel vba

Java程序停顿,然后在到达循环时停止

xcb_grab_key上没有错误,但未捕获事件循环(全局热键)

PHP-简单的for循环无法正常工作?没有错误返回

在 for 循环中出现 Dict KeyError 但实际上没有错误

如何使这个VHDL for循环工作在modelsim上没有错误?

链接jQuery循环以做出反应,什么也不显示,没有错误

对于过滤数据的每个循环返回0个结果,没有错误

使用hasNextInt和do-while循环,对于负整数没有错误消息

节点lambda不写入DynamoDB,并且没有错误

PostgreSQL无法启动,并且没有错误日志

Uncaught SyntaxError:意外的令牌<并且没有错误404

glCheckFramebufferStatus返回0,并且glGetError中没有错误

我无法从 JSON 获取数据并且没有错误

y痒:蜘蛛退出所有错误产生之前没有错误消息

退出for循环,该循环在到达屏幕末端时创建div

安装了Puppet 5,并且Puppet代理-t不应用更改并且没有错误