摘要:如何避免資料重複送出(Submit)??
如何避免資料重複送出(Submit)??
- 15443
- 0
- ASP.NET 2.0/3.5與 VS 2005/2008
- 2008-12-09
摘要:如何避免資料重複送出(Submit)??
這篇文章是我之前(2008/2/17)在微軟MSDN網站,無意中看見的,也整理起來。
原文出處:微軟MSDN http://technet.microsoft.com/zh-tw/library/703tk8bc(VS.80).aspx
分享給大家,也幫自己做一個記錄。
這些問題,我在 Yahoo知識+,大概也回答過N次。
網友們發問的機率很高,算是FAQ!
但我觀察最近的書店銷售(以天瓏書局為例),像是聖殿祭司、章立民老師的作品,
C#版的銷售量,已經都高於VB版了。
可見市場有這樣的需求~ 入門的讀者需要兩種語法,各自指引。
如果有機會推出C#版的話,內容還會追加,大放送。
這個範例跟上一篇文章完全相同,
差別只是把 Web Service裡面的 ADO.NET (DataReader模式)的寫法,
修改成 SqlDataSource來作而已(但從頭到尾都要自己手寫程式),
SqlDataSource的DataMode設定為「DataSet」
這是Web Service的第四個範例。
我們用 Web Service來寫 ADO.NET程式,從資料庫撈點資料來玩玩。
把舊有的功能,加上「Web Service」的新方法來實作。
是不是更能瞭解 Web Service帶來什麼改變呢?
給 User作輸入,然後透過 Web Service運算後,把結果呈現在我們畫面上,
有 Input ==> Process(Web Service) ==>Output才像樣!
好吧!這就是本文的範例......
上一篇文章,已經做好一個 Web Service了。
現在要介紹的,就是「呼叫(Call)那個已經完成的Web Service」來使用。
第一,要加入「Web參考(Web Reference)」。
第二,就是寫兩行程式。..............打完收工!真簡單~
不要把 Web Service想得太難,他其實就是一個 自訂的Function(),只不過他可以在網路(Web)上分享給別人使用,透過 Web Port 80,分享很容易,不用擔心防火牆或是其他設定問題..........
如果我寫了一個 Web Service,我上網公開,人人都可以連上來使用。那真是一個天下為公的美好願景!
本文的範例,將分成兩部分。
第一部份,撰寫一個 Web Service程式。
PostBack(回傳)與CallBack(回呼)的差別
這是藍色小鋪一位網友的問題,我的書本因為剛好有提到,就分享給大家看看。
試著整理一下手邊的範例之後,我「打算」把上面的計畫付諸實行。
也就是撰寫一本「ASP.NET的範例集、問題集」。
這本書裡面,「盡量不廢話」,每一節就是一個範例(解決一個問題)。
盡量不寫大型範例,因為範例一大,程式就變多、就複雜。
最好每一個範例,解決一個問題。 不談觀念,直接給程式碼。
只談重要的「設定」、關鍵的那幾行「程式碼」該怎麼改.......
我想用其他的 Web控制項來展示資料,例如:TextBox、Label這些簡單的Web控制項,該怎麼作呢?
這種簡單型的Web控制項,就要自己動動手寫一點程式,才能完成!
這個範例,我們同時以 DataReader與 DataSet兩種方法來撰寫。
SqlDataSource會自動完成 Select / Update / Delete / Insert等等的指令與參數。
如果自己動手寫程式(Code Behind),在程式碼裡面,該如何啟動這些已經寫好的SQL指令呢?
這個範例有[兩個]很重要的設定畫面,如果不照著作,程式會有問題。
以下是小弟的測試,不過,並沒有像章老師那樣,兩者有顯著的差異。
這可能是我們測驗的範例不同。
我們兩者都是用 FireFox瀏覽器,搭配 FireBug附加元件來測試的。
雖然VS 2008已經內建 AJAX,但是微軟有蒐集許多好用的AJAX控制項,包裝起來,分享給大家。
但是,這個AJAX Control Toolkit 該怎麼安裝到我的VS 2008裡面呢?
看完本文,你也會
如果要我舉出一個特別的例子,跟大家說明 ASP.NET與ASP的差異在哪裡?
我一定會講「DataBinding」。
ASP.NET 2.0以後,因為 SqlDataSource這個精靈控制項太好用,
所以完成後,初學者還是不知道哪裡作了 DataBinding?
如果您學習ASP.NET,卻對 DataBinding的觀念毫無所悉,剛好可以趁此體會一下。
這篇文章超悶!因為全部都用後置程式碼(Code Behind)來作,自己寫程式來作 SqlDataSource
所以GridView的「分頁」、「編輯」、「刪除」、「更新」......通通採用後置程式碼(自己動手寫)
在許多網路論壇上,會有人發問這樣的問題,因為入門書比較不會講到這些....包含 YouTube教學影片
上一篇文章講的是 VaryByParam的用法。
這個範例,則是改用 VaryByControl 的用法。
我們鎖定畫面上的下拉式選單(DropDownList控制項),來作Cache。本文有附上程式範例給大家下載。
關於 ASP.NET的 Cache,官方網站其實講的很清楚
話雖如此,但我還是相信做兩個範例來看,會更為清楚。
直接看看程式的執行結果,會比讀官方文件更快瞭解。
難怪洋人有句諺語「一張圖片,勝過千言萬語」。
Cache與AJAX都很抽象,講再多也沒用。直接讓學生(初學者)看看成果,動手玩一下,他們就會恍然大悟!
這個消息我有點後知後覺,是今天早上看到雜誌(紙本)才發現的。
消息整整晚了一個月。
這也表示我離PHP越來越遠了
關於這兩者的差異,Response.Redirect 與 Server.Transfer
看了幾篇文章,在此留一個記錄,以免以後忘記。