一、使用Ajax接收數據,在返回Response.Write()後應該調用Response.End()才能將數據寫入到調用的頁面,才能被jQuery的回調函數獲取到返回的JSON數據框架
二、在try--catch裏面不能用Response.End(),不然會報錯:因爲代碼已通過優化或者本機框架位於調用堆棧之上,沒法計算表達式的值。函數
在調用Response.End()時,會執行Thread.CurrentThread.Abort()操做。優化
若是將Response.End()放在try...catch中,catch會捕捉Thread.CurrentThread.Abort()產生的異常System.Threading.ThreadAbortException。this
解決方法(任選一個):spa
1. 在catch中排除ThreadAbortException異常,示例代碼以下:code
try
{
Response.End();
}
catch (System.Threading.ThreadAbortException)
{
}
catch (Exception ex)
{
Response.Write(ex);
}
2. 用Context.ApplicationInstance.CompleteRequest()結束當前請求,代碼以下:blog
protected void Page_Load(object sender, EventArgs e){ try { Response.Write("Hello world!"); this.Page.Visible = false; Context.ApplicationInstance.CompleteRequest(); } catch (Exception ex) { Response.Write(ex); }}