Asp.net mvc 3 使用多个列表框减少表单的加载时间

Asp.net mvc 3 使用多个列表框减少表单的加载时间,asp.net-mvc-3,razor,listbox,Asp.net Mvc 3,Razor,Listbox,我有一个表单,可以有多达400个列表框,每个列表框可以有多达900个项目。表单是使用foreach循环创建的: foreach(var i in Model) { var selectList = Model.OrderBy(m => m.Name) .Select(m => new SelectListItem { Text

我有一个表单,可以有多达400个列表框,每个列表框可以有多达900个项目。表单是使用foreach循环创建的:

foreach(var i in Model)
{
    var selectList = Model.OrderBy(m => m.Name)
                        .Select(m => new SelectListItem
                        {
                            Text = m.Name,
                            Value = m.Id.ToString(),
                        }).ToList();
    @Html.ListBox(i+"ListBox", selectList, new { @class = "multiselect", size = "12", multiple = "true", })
}
删除此循环后,页面加载速度加快4倍


还有什么方法可以减少页面的加载时间吗?

我有一个表单,可以有多达400个列表框,每个列表框可以有多达900个项目。
-OMHG。愿上帝怜悯这个应用程序用户的灵魂。我相信这不是他们的错,但为什么要让他们这么痛苦呢?他们值得这样做吗?不是答案,而是一张表单上的400个列表框?这里有些东西失控了。400个列表框和900个列表框。。。考虑重新设计…p、 请附上一张截图,我想看看这个!我很好奇返回的页面的实际有效负载是多少。它一定是不朽的。为什么在一个表单中需要400个列表框?我看不出任何正当的理由。也许多了解一点你到底想做什么会有所帮助。如果您真的需要在单个表单中输入那么多内容,我会将其分解为一个向导,并在每个步骤后保存。我永远不会,永远不会,我的意思是永远不会填写这么大的表格。