編寫伺服器控制項時,向頁面寫入指令碼的方法

2021-04-13 11:37:44 字數 1113 閱讀 9141

在編寫伺服器控制項時,經常需要向頁面傳送大量的客戶端**。一般情況下我們可以直接用

output.write() 寫到頁面,但這樣會帶來乙個幾個問題:

1、如果同乙個頁面有幾個這樣的伺服器控制項,是不是同樣的客戶端**要被寫到客戶端好幾次?

2、如果讓頁面自動執行相應的客戶端指令碼? 

其實這些問題asp.net裡已提供了解決方法。

在page類裡有幾個方法:

registerclientscriptblock可以向頁面中傳送客戶端**塊(當然可以不僅僅是指令碼,也可以是其它的文字),這段**會被寫到form裡的開始部分

isclientscriptblockregistered根據乙個頁面級的key來判斷某段由registerclientscriptblock傳送的客戶端**是否已被傳送到了客戶端。

registerstartupscript可以向頁面中傳送客戶端**塊,這段**會被寫到form裡的結束部分。這樣就可以如其名稱一樣,在頁面載入完成後寫入一段自動執行的**

isstartupscriptregistered根據乙個頁面級的key來判斷某段由registerstartupscript傳送的客戶端**是否已被傳送到了客戶端

通過上面的幾個方法就可以解決上述的兩個問題。

示例://

生成客戶端指令碼

privatestringgetclientscript()

// 生成自動執行的客戶端指令碼

privatestringgetclientstartupscript()

// 在預呈現事件裡加入客戶端指令碼

protectedoverridevoidonprerender(eventargs e)

tooltips:

向頁面註冊客戶端指令碼要在預呈現裡完成,如果在

redner裡來做則不會啟作用。

在寫大段的客戶端指令碼時,可以在文字前加入

@,這樣,引起來的字元器的換碼序列將「不」被處理,這樣就可以輕鬆寫出字串。如果要在字元器裡包括乙個雙引號,請使用兩對雙引號。

linux伺服器 shell指令碼 編寫定時器

時間 2016 08 20 15 49 40 麥穗技術 原文 主題shell linux下編寫shell指令碼,每天自動清理tomcat的catalina.out檔案內容,保證catalina.out都是當天的日誌。直接上內容咯 1.auto clear currday catalina out c...

瀏覽器向伺服器請求頁面的原理

我們經常用瀏覽器上網,但是大家想過沒有在瀏覽器和伺服器之間是怎麼互動的嗎?接下給大家說說web頁面請求的原理 高手直接跳過 首先我們不要把伺服器想的太神聖了,其實他也就是一台 沒有顯示器的電腦,處理速度比普通電腦快罷了。伺服器端安裝的iis軟體,在客戶端是瀏覽器 客戶端 當我們在瀏覽器輸入 並回車後...

使用php指令碼向mysql伺服器傳送sql

1 複習 使用php指令碼向mysql伺服器傳送sql link mysql connect localhost 主機名 mysql user 使用者名稱 mysql password 密碼 or die 連線失敗 mysql error mysql select db 資料庫名 link or d...