2015-06-12 32 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函數時) –