2012年4月2日 星期一

Asp.net(C#)的ajax方法(1)--前言篇

最近因為開發的系統一律用萬惡微軟平台,所以這兩個多月摸了一點Asp.net,雖然不熟是真的,比劃兩招也很不錯。


有時候總會想,網路上這麼多熱心的高手燃燒生命來code出大大小小的工具,開源碼,又免費,Bill Gates先生看了不羞愧嗎!(好啦好啦如果能賺錢賺到那種境界我不介意天天多羞愧三分鐘XD)。身為工程師,尤其是正在努力code的工程師,我很可以理解那種「打造自己用的工具」的自豪感,這大概是我現在還繼續和vim努力變熟的原因之一,把很多的小工具串串在一起,最後可以解決自己的問題,用起來真的是特別地爽,尤其是最好別人連切換輸入打字進去都不會,這樣會更爽。但是回過頭想想這真的是浪費生命的事情,真的。就算把一個Editor用到出神入化又怎樣嘛人家打什麼我還不是要打什麼,好啦你說vim的強悍指令可以快速到神一般的境界我同意,但是在你把vim玩熟之前浪費了幾百幾十倍的時間我都不好意思去想了,更不要說改造一個Editor become IDE更是耗費了多少高手前輩的生命,然後連Install都充滿了大學問,一般被微軟慣壞的使用者(敝人在下我)一定想也想不到原來安裝軟體沒有next可以按就罷了大概是連要放在哪裡都不知道,噢原來還要開DOS指令真是太為難我們了吧!!!

想透了這一層,我不禁想說,微軟的確是收錢收的理直氣壯哪。

回到正題。

我大概花了兩三天的時間在把Asp.net和ajax串在一起,我不得不稱讚一下微軟就是雖然他的控制項程式碼都醜的像是垃圾堆,可是你看看,滑鼠點一點拉一拉常常連程式碼都還寫不到一個滿滿功能的網頁就瞬間生出來了,仔細看一下垃圾堆的字裡行間,你都不得不感嘆一下多年前用ASP和ADO.net來bind database真的是一條坎坷路,設想一下如果你十年前為了bind一個小小的東風資料庫可能加班爆肝在用生命換取程式碼,或者啃了好幾本磚塊工具書就為了bind它,現在卻只要滑鼠點兩下,設點參數蹦一聲就跑出來了,天哪當年真是血淚斑斑。

但是沒錯,身為一個不自己動手做一次就不自豪的工程師,我還是自己做了...

「用javascript和asp.net的behind code實做假的GridView和假的updatePanel!」

會這麼做是有原因的:
1. GridView和UpdatePanel都有其自身的極限和很多的限制。GridView雖說極為方便,但是每次做任何動作都一定會產生postback,整個page會偷偷重讀一次,偷偷地給你閃一下,心裡覺得很不舒服。UpdatePanel雖然說可以解決這個問題,然而巢狀的updatePanel會互相干擾,和HTML的標準Tag─div也會有問題,需要多加一個指令。
2. 我偏好動態生成和即時部分更新的網頁,這樣比較高級嘛XD
微軟的特色就是熱愛整合,西低,就硬是給熱愛自己動手做的傢伙們弄出了可以串通javascript的"Callback"功能,其實很多文件和前人資料都有寫過了,只是這次我本人做的範例是讓我自己筆記用的囉。


April 3rd, 2012
shesee@Taipei

沒有留言:

張貼留言