2015-06-12 23 views
0

我有一个ASP.NET(4.5) webform应用程序,它使用JavaScript。 而我正在使用IE11。问题是如果在这个JavaScript(外部文件)中有任何错误没有任何反应。ASP.NET错误隐藏在ASP.NET应用程序中

例如,如果我将我的文件从a.js重命名为b.js,应用程序将继续运行并且IE中不显示任何内容。

还是在我的代码我有:

<asp:LinkButton runat="server" OnClientClick="OpenWindow('.//Documents//TechnicalSupport.pdf');" ..... > 

所以链接按钮不工作了OpenWindow没有在JavaScript文件中定义。从用户角度来看,点击链接没有做任何事情,没有错误信息或其他任何东西。

我可以看到它的唯一方法是按F12并查看发生了什么(OpenWindow未定义)。

问题:有没有什么方法可以在ASP.NET应用程序中显示java脚本错误?在上述情况下,我想至少能够登录错误“OpenWindow is not defined

+0

是的,您需要打开浏览器的调试控制台(F12)。 – Jasen

+0

你尝试过window.onerror事件吗? window.onerror = function myErrorHandler(errorMsg,url,lineNumber){ alert(“Error occured:”+ errorMsg); //或任何消息 return false; } – Sushil

回答

1

在回答你的问题

有什么办法,以显示在ASP.NET应用程序中的Java脚本错误?

是,there is a way

window.onerror = function(msg, url, linenumber) { 
    //To show the error in the app 
    alert('Error message: '+msg+'\nURL: '+url+'\nLine Number: '+linenumber); 
    //To show the error in the Javascript console (Press F12) 
    console.log('Error message: '+msg+'\nURL: '+url+'\nLine Number: '+linenumber); 
    return true; 
} 

您无法直接访问文件中JS,但你可以通过WebService的访问或查看answer about PageMethods记录错误的文件,只需更改代码在静态方法中

+0

是的,我可以在JS中直接访问一个文件。:: 'OpenWindow('.// Documents // TechnicalSupport.pdf');'没有问题 –

+0

window.onerror只为window对象提供错误。如何调用一个javascript函数的情况下会导致错误? –

+0

不,OpenWindow只是用浏览器打开一个文件(PDF,在另外一种情况下它下载文件),但是没有在JS中写入/读取文件。而要捕获另一个代码,请在代码中使用TryCatch块(当调用JS函数时) –