对于大型嵌套复选框列表,ASP.NET MVC 表单 POST 非常慢

正义或正义

我的 ASP.NET MVC Web 应用程序出现问题,ViewModel当表单发布时,我需要大约 30 秒才能点击我的控制器。因此,我猜这与默认的模型绑定器有关。

[HttpPost]
public ActionResult Edit(ByActivityEditViewModel viewModel)
{
    if (ModelState.IsValid) // Takes ~30 seconds before even hitting this
    {

MyView是一系列嵌套的Group父母和User孩子的复选框相同的User可能会列在多个Groups. 我正在使用 anEditorForViewModel.

视图的编辑器模板调用: @Html.EditorFor(model => model.Groups)

编辑器模板:

@model MyProject.Models.Group
@Html.HiddenFor(model => model.Guid)
@Html.HiddenFor(model => model.Name)
@Html.CheckBoxFor(model => model.IsAllowed, new { @class = Model.Guid.ToString(), @style = "margin-right:5px; cursor:pointer;" }) @Html.LabelFor(model => model.IsAllowed, Model.Name, new { @class = "build-checkbox-label", @style = "font-weight:normal; margin-top:-2px;" })

@if (Model.Users.Any())
{
    <ul style="list-style:none;">
        @for (int i = 0; i < Model.Users.Count; i++)
        {
            <li>
                @Html.HiddenFor(model => Model.Users[i].Guid)
                @Html.HiddenFor(model => Model.Users[i].Name)
                @Html.CheckBoxFor(model => Model.Users[i].IsAllowed, new { @class = Model.Users[i].Guid.ToString(), @style = "margin-right:5px; cursor:pointer;" }) @Html.LabelFor(model => Model.Users[i].IsAllowed, Model.Users[i].Name, new { @class = "build-checkbox-label", @style = "font-weight:normal; margin-top:-2px;" })
            </li>
        }
    </ul>
}

视图模型:

public class ByActivityEditViewModel
{
    public int ActivityId { get; set; }
    public string Path { get; set; }
    public IList<Group> Groups { get; set; } = new List<Group>();
}

public class Group
{
    public Guid? Guid { get; set; }
    public string Name { get; set; }
    public string DistinguishedName { get; set; }
    public string SamAccountName { get; set; }
    public string DisplayName { get; set; }
    public bool IsAllowed { get; set; }
    public List<User> Users { get; set; } = new List<User>();
}

public class User
{
    public Guid? Guid { get; set; }
    public string Name { get; set; }
    public string DistinguishedName { get; set; }
    public string SamAccountName { get; set; }
    public string DisplayName { get; set; }
    public bool IsAllowed { get; set; }
    public bool IsUserChecked { get; set; }
}

模型状态:

在此处输入图片说明

模型状态包含 Guids、Names 和 IsAllowed 值。我相信处理这是缓慢的部分。

结果是:

  • 64组
  • 853 用户

用户可以属于多个组。

我试过了:

  1. 使用字符串作为 Guid 并稍后解析它。
  2. 删除我正在使用的 BeginCollectionItem 包。
  3. 对着我的显示器大喊大叫。

任何建议、信息或解决方法将不胜感激。

没有人

在处理大量控件时,Jquery/js 函数之前已经为我做过几次了,我一直在想办法弄清楚。现在我知道先看哪里了。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

对于列表中未在 POST 中检查的记录,Asp.Net MVC 5 复选框状态不会保持不变

来自分类Dev

选中“ ASP.NET MVC提交表单”复选框

来自分类Dev

添加复选框列表后,提交表单不再起作用(.net mvc razor)

来自分类Dev

添加复选框列表后,提交表单不再起作用(.net mvc razor)

来自分类Dev

如何使用ASP .NET MVC4从其他表单获取复选框值?

来自分类Dev

基于ASP.NET MVC中的复选框选择填充模型的嵌套列表对象

来自分类Dev

ASP.NET MVC5每个Razor页面在首次加载时非常慢

来自分类Dev

使用SimpleMembershipProvider的.NET MVC中的用户SELECT非常慢

来自分类Dev

asp.net MVC表单POST在Localhost中有效,但发布后不起作用

来自分类Dev

ASP.net MVC 表单提交总是调用 GET 操作而不是 POST

来自分类Dev

ASP.NET MVC站点在LAN上运行速度非常慢,但可以正常运行localhost

来自分类Dev

表单POST中的HTML复选框

来自分类Dev

ASP.NET MVC 5表单验证

来自分类Dev

验证登录表单ASP.NET MVC

来自分类Dev

ASP.NET MVC 5表单验证

来自分类Dev

如何在Asp.NET MVC中使用复选框创建MultiSelect下拉列表

来自分类Dev

如何通过asp.net mvc中的自定义jQuery验证复选框列表

来自分类Dev

asp.net核心中的Razor非常慢

来自分类Dev

MaterializeCSS-ASP。Net MVC:模态复选框

来自分类Dev

ASP NET MVC 4并排呈现复选框

来自分类Dev

ASP NET MVC 4并排呈现复选框

来自分类Dev

ASP.NET MVC复选框产生的HTML

来自分类Dev

在FormCollection MVC表单中传递的复选框值

来自分类Dev

asp.net提交表单后如何获取post数据

来自分类Dev

复选框列表值未绑定到 ASP.NET Core MVC 中的查看 GET 请求

来自分类Dev

我需要一个没有 EF 的 asp.net mvc 中带有复选框的下拉列表

来自分类Dev

提交简单表单MVC ASP.Net网站的StackOverflow异常

来自分类Dev

ASP Net MVC中的表单操作属性有什么风险?

来自分类Dev

ASP.NET MVC-动态表单验证

Related 相关文章

  1. 1

    对于列表中未在 POST 中检查的记录,Asp.Net MVC 5 复选框状态不会保持不变

  2. 2

    选中“ ASP.NET MVC提交表单”复选框

  3. 3

    添加复选框列表后,提交表单不再起作用(.net mvc razor)

  4. 4

    添加复选框列表后,提交表单不再起作用(.net mvc razor)

  5. 5

    如何使用ASP .NET MVC4从其他表单获取复选框值?

  6. 6

    基于ASP.NET MVC中的复选框选择填充模型的嵌套列表对象

  7. 7

    ASP.NET MVC5每个Razor页面在首次加载时非常慢

  8. 8

    使用SimpleMembershipProvider的.NET MVC中的用户SELECT非常慢

  9. 9

    asp.net MVC表单POST在Localhost中有效,但发布后不起作用

  10. 10

    ASP.net MVC 表单提交总是调用 GET 操作而不是 POST

  11. 11

    ASP.NET MVC站点在LAN上运行速度非常慢,但可以正常运行localhost

  12. 12

    表单POST中的HTML复选框

  13. 13

    ASP.NET MVC 5表单验证

  14. 14

    验证登录表单ASP.NET MVC

  15. 15

    ASP.NET MVC 5表单验证

  16. 16

    如何在Asp.NET MVC中使用复选框创建MultiSelect下拉列表

  17. 17

    如何通过asp.net mvc中的自定义jQuery验证复选框列表

  18. 18

    asp.net核心中的Razor非常慢

  19. 19

    MaterializeCSS-ASP。Net MVC:模态复选框

  20. 20

    ASP NET MVC 4并排呈现复选框

  21. 21

    ASP NET MVC 4并排呈现复选框

  22. 22

    ASP.NET MVC复选框产生的HTML

  23. 23

    在FormCollection MVC表单中传递的复选框值

  24. 24

    asp.net提交表单后如何获取post数据

  25. 25

    复选框列表值未绑定到 ASP.NET Core MVC 中的查看 GET 请求

  26. 26

    我需要一个没有 EF 的 asp.net mvc 中带有复选框的下拉列表

  27. 27

    提交简单表单MVC ASP.Net网站的StackOverflow异常

  28. 28

    ASP Net MVC中的表单操作属性有什么风险?

  29. 29

    ASP.NET MVC-动态表单验证

热门标签

归档