顯示具有 程式開發 標籤的文章。 顯示所有文章
顯示具有 程式開發 標籤的文章。 顯示所有文章

2010年12月6日 星期一

[技術筆記] ASP.NET 內建event執行順序

在ASP.NET程式中,提供許多內建的EVENT,可以用來處理一些功能,如果只有單獨一個PAGE,就比較單純。但是當導入Master Page以及User Control後,通常讓程式設計師無所適從,在此整理相關訊息:

單獨一個PAGE的狀況
1. PreInit
2. Init
3. PreLoad
4. Load
5. Load Complete
6. PreRender
7. PreRender Complete
8. Unload




考慮比較複雜的狀況
Content page、Master page以及User Control(包括Content page controlsMaster page controls)
1.Content page PreInit event.

2.Master page controls Init event.
3.Content page controls Init event.
4.Master page Init event.
5.Content page Init event.

6.Content page Load event.
7.Master page Load event.
8.Master page controls Load event.
9.Content page controls Load event.

10.Content page PreRender event.
11.Master page PreRender event.
12.Master page controls PreRender event.
13.Content page controls PreRender event.

14.Master page controls Unload event.
15.Content page controls Unload event.
16.Master page Unload event.
17.Content page Unload event.


Microsoft提供下圖做為參考(但是不含MasterPage)

2009年10月13日 星期二

C# Programing Notes

1. How to check object null


2. How to check db object null
if(myDataSet.Rows[0]["columnName"] == DBNull.Value)

2009年8月11日 星期二

防止多次SUBMIT的方法

WEB FORM中,有時後使用者按下『SUBMIT』時,連接至SERVER過慢,忍不住多按幾下,有時會造成多次執行的結果,例如資料重複或是EMAIL重複發出。

要防止這個問題,以下是最簡單的方式:
-------------------------------------------------------------------------

<script language="javascript">
var submitted = false;
</script>

...

<form onsubmit="if (!submitted) {submitted = true; return true;} else return false;">

...

-------------------------------------------------------------------------

說明:
1. 一定要在CLIENT端處理,因此選用Javascript
2. 有些人用的方式是DISABLE SUBMIT按鈕,但是每支程式的都不同,很難達成
3. 利用一般form的檢查機制,輕易完成此一任務
4. 若有其他form的檢查機制需要自行調整
5. ASP.NET的MASTER PAGE,也可以套用,甚至更方便,只要改一個地方即可
6. 此方法適用各類WEB語言



2009年8月4日 星期二

Cascading Dropdown List(多層次) 初值設定 (ASP.NET)

Cascading Dropdown List(多層次)的製作在各種程式中應用廣泛,也有需多人提出實例教學,因此不在此多說。

一般Cascading Dropdown List(多層次)是應用於資料查詢上,但是若是應用在資料編輯,就遇到有設定初值的問題。

方法如下:
(以2階為例、兩個Dropdown List:List1, List2、初值分別是value1, value2)
1. 先將List1的Items設定好
2. List1.SelectedValue = value1;
3. 依據List1初值value1,設定好List2的Items
4. List2.SelectedValue = value2;

若List2有data binding,則步驟3可以改為:
List2.Items.Clear();
SqlDataSource2.SelectParameters[0].DefaultValue = value1;
DataView view = (DataView)SqlDataSource2.Select(DataSourceSelectArguments.Empty);
SqlDataSource2.DataBind();

2007年11月8日 星期四

『人月神話』讀後心得〈二〉

再回頭談『寫程式的樂趣』:

作者說--『有創造的樂趣』

這點我蠻同意的,寫程式可以憑空創造一些東西,或是改變一些東西,讓自己「自我滿足一下」。(這可能是『宅男』的最大樂趣所在)

作者說--『創造出來的東西,居然有人用』

這就又比上面說的樂趣更上一層樓了,至少不是「孤芳自賞」,可是有人會欣賞我的程式,最好是花大錢來買,可就是樂翻啦!

作者說--『寫程式時類似推理、解迷的過程令人著迷』

年輕時候的我野蠻沈迷於此的,喜歡幫別人DEBUG,或是看一些很艱深的程式書,可以很專注、很持久、並且得到很大的樂趣。但是年紀漸長,腦力退化,專注力便由細節轉化為『架構』、『概念』、『結構』這些說說就好,不必實作的東西了。

作者說--『在如此容易操作的介質上工作的快樂』

對應到第一項的樂趣,容易操控便有利於創造,宅男就更多啦!

不過話說回來,台灣的六、七年級生能夠體會這些樂趣的人就少多了,反而是對岸的同胞投入寫程式的人排山倒海般蜂擁而至,實在驚人!有幾個例子:

1. 之前有介紹到一家軟體公司 ASPOSE (http://www.aspose.com),這是一家澳洲公司,公司6個TEAM中有3個TEAM是在大陸(長沙、廣州、南京)。

2. 我之前的公司外包程式給長沙的軟體公司,一台PC分成3班給3組人作CODING用,因為CODING很趕也很好賺。

3. 寫程式的技術文章居然在大陸可以賣錢(例如、如何寫像GOOGLE查詢介面的AJAX程式),雖然不多(大約十幾元台幣左右),但積少成多、不無小補。

台灣不僅是傳統產業要關門了,連軟體業都快要被對岸吃掉了(或許早就陣亡了)!

2007年11月6日 星期二

『人月神話』讀後心得〈一〉

第一章談到寫程式的樂趣與苦難,先從苦難談起:

首先,電腦其實蠻笨的,至少目前來看大概只有人類1-6歲的水準,很多時候不知道變通,因此需要很精準的指令才可以指揮電腦,這就是寫程式的用途所在。也因為如此,就造就了許許多多的龜毛程式設計師,許多地方要求完美,這也不是他的本意,實在是電腦要求的。

此外,test/debug也是讓人氣到吐血的事情。雖然依照常理bug應該是越改越少,但是,寫過程式的人都知道,修改完一個bug通常會引發另外兩個bug,實在是越改越多,永無止境。怪不得現在WEB 2.0有人提倡永遠的beta版,看似非常有責任感,其實背後的辛酸是無人知道的。

作者還說,總體來看是『樂多於苦』,但是我想這可能是作者的那個年代(1974),會寫程式就像民航機飛行員一樣稀少,寫程式可以賺大錢的年代,如果寫程式可以月入NTD$30萬(或許15萬我就滿足啦!),我也會覺得樂多於苦。

軟體工程師--總結一句話:生不逢時啊!

2007年5月25日 星期五

ASP Upload

ASPUpload
支援ASP網頁的UPLOAD元件
http://www.aspupload.com

雖然ASP已經是發展很久了,但是因為簡單,所以還是很多人使用。
這個元件是可以幫助你在ASP程式中達成UPLOAD的功能,而且只要經由80PORT即可,不需要開放其他PORT,十分方便。

網站中還有其他元件,也還不錯,可以下載來試一試。
XUPLOAD: 還不錯用
JUPLOAD
ASPJpeg
ASPPDF
ASPUser: 還不錯用
ASPGrid
ASPEmail
ASPEncrypt


網站上有使用說明及SAMPLE。