【发布时间】:2013-08-26 12:59:53
【问题描述】:
我有一个 ASP.NET MVC 页面,其中包含 14 列的 JQuery 可编辑数据表。 我有一个按钮(Apply No Findings)来执行客户端计算并应用到该表中的所有行。
当我们点击这个按钮时,在应用每 4 行计算后,它会显示这个“停止运行脚本”消息。
我验证了设置。在 Internet 选项的高级选项卡中,选中“禁用脚本调试(Internet Explorer)”选项。并且“显示有关脚本错误的通知”未选中。
我使用的是 Internet Explorer 8。我现在在 IE9 上不会发生这种情况。但这是服务器,我们无法升级到 IE9。
我进行了研究并尝试了这两个选项,但没有任何效果。
示例(1): http://www.codeproject.com/Tips/406739/Preventing-Stop-running-this-script-in-Browsers
任何人都有这个问题,任何建议都非常感谢。
这是抛出脚本消息的实际代码:
for(i < iTotalRecords;i++)
{
var row = oTableAuditLines.fnGetData(i);
oTableAuditLines.fnUpdate("NF",i,1);
UndoHCPCS(row,i);
UndoHCPCSModCodes(row,i);
UndoLineUnitCount(row,i);
oTableAuditLines.fnUpdate("", i, 6); //Reset Denial Reason Code
UndoNonCoveredCharges(row,i);
CalculateAmountPaidAtLine(row,i);
CalculateEstimatedRecoveryAmountAtLine(row,i);
}
UpdateSummaryLine();
UpdateSummaryLineReasonCode();
通过参考示例(2)中的示例代码,我将代码更改如下,但仍然收到脚本消息:
//这个功能是为了避免Script Running Message
RepeatingOperation = function(op, yieldEveryIteration)
{
var count = 0;
var instance = this;
this.step = function(args)
{
if (++count >= yieldEveryIteration)
{
count = 0;
setTimeout(function() { op(args); }, 1, [])
return;
}
op(args);
};
};
function ApplyNoFindings()
{
var i = 0;
var ro = new RepeatingOperation(function()
{
var row = oTableAuditLines.fnGetData(i);
oTableAuditLines.fnUpdate("NF",i,1);
UndoHCPCS(row,i);
UndoHCPCSModCodes(row,i);
UndoLineUnitCount(row,i);
oTableAuditLines.fnUpdate("", i, 6); //Reset Denial Reason Code
UndoNonCoveredCharges(row,i);
CalculateAmountPaidAtLine(row,i);
CalculateEstimatedRecoveryAmountAtLine(row,i);
if (++i < iTotalRecords)
{
ro.step();
}
else
{
UpdateSummaryLine();
UpdateSummaryLineReasonCode();
}
}, 100);
ro.step();
}
我在这里做错了什么?
【问题讨论】:
-
你不应该着眼于不显示慢代码警告消息,你应该着眼于优化你的代码。
-
"What am i doing wrong here?"...您使用的是 ASP.Net,呵呵!?不,但说真的,罗里是正确的。您的数据表代码已经做了很多工作。 ASP MVC 的主要功能之一是能够让服务器通过 C# 甚至 XAML 处理“计算”并编写要在视图中呈现的 HTML。你做过无线电演练吗?它为您提供了如何处理更多此服务器端的好主意,并且只将直接 HTML 发送到您的“表”,从而减少客户端的混乱并减少客户端错误的机会。 -
我添加了 javascript 标签并更新了标题以使其更具相关性。希望你没问题。
标签: javascript jquery asp.net-mvc asp.net-mvc-3