MVC PartialViewResult包含附加的JavaScript函数调用,从而导致内存泄漏



我有一个包含HTML表的MVC视图。在该表中,单元格包含附加到复选框的on Click事件,以及与输入框绑定的Onchange事件。这些与.js文件中的标准JavaScript函数绑定。

<input type="text" id="changeActualTimeBox{'0'}" onchange="ChangeStartTime()">

当这些单元格发生在这些单元格中时,我将通过后方法称为关联的jQuery ajax函数,然后返回包含更新的HTML和新模型数据的部分视图。新的HTML表(PartialView)在TD标签中每行大约包含10个JavaScript事件。如果用户提高了不同的日期,则内存会根据返回的表格大小增加2MB或更多,最多可能是200行数据。

我注意到,每次我检索新数据时,都会堆叠许多脚本块功能,这些脚本功能永远不会从内存中释放出来。与其按照我的方式附加onClick和onchange功能,不如说是使用jQuery并完全消除JavaScript调用的方法?

您可以在()方法上使用jQuery而不是附加onClick和onChaneg函数

示例:

<div id="partial-view-container">
    @{Html.renderPartial("ViewName");}
</div>

在您的partialview

<input type="text" id="time">

您的主视图中的jQuery

$('#partial-view-container').on('change','#time',function(){
     //do what you want here
     // ajax call
});

顺便说一句,您应该使用Ajax调用替换整表,如果您更换整个PartialView

您也可以尝试分页以减少渲染的数据并加快加载时间

相关内容

  • 没有找到相关文章

最新更新