【发布时间】:2012-01-08 23:13:05
【问题描述】:
错误上下文:
Visual Studio 2010 服务包 1 ASP.NET MVC 3 应用程序 为 Internet Explorer 启用脚本调试的 IE9
错误情况:
执行在名为“脚本块 [动态]”的 JavaScript 文件中停止在下一行
doc.addEventListener("DOMNodeInserted", onDOMNodeInserted, false);
该行代码嵌套在下面的 if 块中
if (ver >= 9.0)
{
doc.addEventListener("DOMNodeInserted", onDOMNodeInserted, false);
doc.addEventListener("DOMNodeInsertedIntoDocument", onDOMNodeInsertedIntoDocument, false);
}
这是一个非常持久的错误,在我重新映像硬盘驱动器并重新安装 VS 2010 SP1 和 ASP.NET MVC 3 后开始发生。我做了两次以确保我做对了。
我将猜测并建议此错误是 ASP.NET MVC 3 中未处理的异常或 IE9 中的错误的副作用。当找不到 ActionLink HTML 帮助程序方法中指定的(GET?)操作方法时,似乎会发生错误,例如
@Html.ActionLink("Link Text", "Action")
我相信 IE9 确实支持 addEventListener 所以错误本身是不正确的。除非我能得到更多信息,否则这个错误超出了我解决其原因的能力。我可以通过确保我的操作方法在那里并且它有效来防止它。这是一种解决方法,而不是解决方法。修复错误将防止它被错误报告,因为 IE9 实际上支持 addEventListener。
【问题讨论】:
-
如果你能在 IE9 调试器的那一行停下来,看看
doc是什么;如果不是元素,则不支持 addEventListener 方法。
标签: visual-studio-2010 asp.net-mvc-3 internet-explorer-9 addeventlistener