输入很多时Chrome速度很慢

Ren*_*lin 5 html performance google-chrome

在我们的MVC5项目中,有一个页面可供用户检查多个资产。复选框和名称代表每个资产。

当资产很多(大约800-1000)时,Chrome变得非常慢。有时甚至显示“页面不负责任”的信息。

看起来是这样的:-页面被部分渲染并带有复选框固定在DIV上-然后延迟30-40-50秒。有时会出现错误消息-带有复选框的DIV渲染和页面其余部分的渲染

在FF和IE中都可以。

提前致谢

我同意这不是一个好的用户体验,但是在当前阶段,我需要解决此问题。这是标记(此div是4层嵌套的):

<div class="list">
        @for (int i = 0; i < Model.Items.Count; i++)
        {
            <text>
                @{var cid = Guid.NewGuid().ToString();}
                @Html.HiddenFor(m => Model.Items[i].Id)
                @Html.CheckBoxFor(m => Model.Items[i].Selected, new { id = cid })
                <label for="@cid">@Trakopolis.WebSite.AppHelper.GetLocalizedString(Model.Items[i].Name)</label><br />
            </text>
        }
    </div>
Run Code Online (Sandbox Code Playgroud)

Vov*_*ova 0

看起来 Chrome 没有对复选框下拉标记使用结束标签,<br>这在某种程度上强制了额外的浏览器内部检查,因此与 IE 和 FF 浏览器(使用结束标签)相比,页面渲染速度较慢。为了避免 Chrome 由于<br />标签而加载缓慢,您可以使用打开和关闭<div>来代替,并稍微加快页面速度,但我不确定是否<input>可以以某种方式替换元素。