關於Response.Write輸出的一點討論!

我以前要在服務器端想客戶端輸出一條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代碼了,看來以後還是不能偷懶少寫這幾句代碼。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章