天天看點

asp.net伺服器控件button先執行js再執行背景的方法

以下可以直接跳過

控件這東西在asp.net中非常好用,極大加快了開發速度。特别是伺服器控件這種東西。當年我學網站開發的時候就是從asp.net學起的,而且一度以為網站的原理就是這樣而已——朦,反正這樣做就對了。随着學的東西越來越多,對網站的原理也了解的越來越多。逐漸發現伺服器這種東西由當初的加快開發速度變成了降低了開發速度。學的東西越來越多,開發的要求也越來越高,我也逐漸不滿足于伺服器控件。

伺服器控件增強了在背景處理的能力,但是在前台有時候也被受到了限制,還是說,我被受到了限制。

之前一直寫java,覺得java寫網站也是挺快的。突然老大周二跟我說,這邊有一個.net的項目,我就先寫這個吧。然後我又回歸.net的懷抱,寫asp.net。

由于之前寫的網站不是作業就是社團的網站,一直鑽研與背景,很少接觸前台的東西,寫的網站互動性都不怎麼樣。這次是一個公司的項目,我還是有點壓力。不能弄得太差勁了。

關于button這個伺服器控件,我一直想減少它向伺服器送出資料。那些檢測,還是在用戶端實作就好了。這就需要javascript,但是我發現僅僅有javascript還是不夠的。button伺服器控件的單擊事件叫“onclick”,是以javascript就無法使用這個事件。因為重名了。我想實作的是

單擊button的時候,先執行用戶端的javascript代碼,然後再執行背景事件。

如果使用的是html控件,就不存在這種問題了。但是,我就是想實作伺服器控件的這一功能,有時候伺服器控件也是很好用的。

google了一番,找到一個

先給aspx頁面增加一個伺服器控件button

在頁面初始化的時候,給button這個伺服器控件增加一個用戶端事件。也就是在page_load()這個方法裡面加一句代碼:

上面的return ture和false是很重要的,這決定了是否往下執行,往下執行就應該是将資料送出到背景處理資料。當傳回true時,背景執行button1_click這個方法(事件)。

以上就實作了伺服器控件button先執行js再執行背景代碼的功能。