我以前要在服務器端想客戶端輸出一條javascript語句,一般都想這樣子做:Response.Write("<script>alert('你好!');</script>");而且我一直都是這樣子做的,也沒出過什麼問題!但是今天卻發現了一個問題,我的Response.Write()就是不輸出我的js語句,我調試進去,還是不執行,檢查了下我的代碼,也沒問題啊!於是馬上想到了google,一查,結果我把我的那條語句改成下面這樣的,就好了:
(1)Response.Clear();
(2)Response.Write("<script>alert('你好!');</script>");
(3)Response.Flush();
(4)Response.End();
我來解釋一下上面的代碼的意思,其實看幫助也可以知道,(1)中的代碼作用就是:清除緩衝區流中的所有內容輸出,說白了就是把上一次要輸入的內容 清空。(2)中的代碼就是我們要輸出的當前的javascript內容了。(3)中的代碼的意思就是:向客戶端發送當前所有緩衝的輸出;這一句挺重要的,我覺得我剛開始不能輸出內容就跟這句代碼有關。(4)中的代碼就是:將當前所有的緩衝輸出發送到客戶端,停止該頁的執行,並引發Application_EndRequest事件; 加上了(1),(3),(4)這3句代碼後,我的Response.Write()就可以正常輸出我的js代碼了,看來以後還是不能偷懶少寫這幾句代碼。