12 2007 档案
使用 JavaScript 更新 UpdatePanel
摘要:在 ASP.NET AJAX 機制中,UpdatePanel 有著相當重要的地位,它讓開發人員不用撰寫 AJAX 相關程式碼,就能享有 AJAX 的效果。一般包含在 UpdatePanel 中的子控制項,若子控制項有執行 PostBack 動作時,UpdatePanel 機制在前端會去攔截 __doPostBack 函式,使得控制項產生的 PostBack 都會經由 UpdatePanel 統一處... 阅读全文
posted @ 2007-12-27 02:07 jeff377 阅读(3110) 评论(11) 推荐(0) 编辑
擷取 GridView 資料列的欄位值集合
摘要:一般要取得 GridView 中的欄位值,都是要指定該欄位值所在的儲存格索引,還要判斷資料列在瀏覽或編輯模式,使用不同的方式在擷取。 例如有一個 ProductName 的 BoundField,它在 GridView 中的欄位索引為 3,則在瀏覽模式要使用下列方式來取得瀏覽時 ProductName 欄位值。 GridViewRow.Cells(3).Text 若是在編輯模式時,因為欄... 阅读全文
posted @ 2007-12-16 11:06 jeff377 阅读(2352) 评论(2) 推荐(0) 编辑
擴展 CommandField 類別 - 刪除提示訊息含欄位值
摘要:在上一篇「擴展 CommandField 類別 - 刪除提示訊息」中實作了 TBCommandField 類別,設定 DeleteConfirmMessage 屬性可以輕易設定刪除提示訊息。 這篇文章針對 TBCommandField 類別做進一步的擴展,我們希望在刪除訊息中可以加入指定的欄位值,讓使用者明確知道刪除的資料,例如刪除某個產品資料時,可以顯示這個產品的名稱在提示訊息中。 針對這個... 阅读全文
posted @ 2007-12-15 22:27 jeff377 阅读(676) 评论(0) 推荐(0) 编辑
Calendar 動態產生子控制項的 Event Handler
摘要:一般 Calender 都是在 DayRender 事件中依需求加入子控制項,若有個需求要在 Calender 的每日的儲存格中加入一個按鈕,並希望按下這個按鈕能引發該按鈕的 Click 事件,此在事件中撰寫相關程式碼。 以上需求最直覺的方式就是新增一個 Button 加入 Cell 中,並使用 AddHandler 來設定 Click 事件的處理函式,程式碼如下。 Code highl... 阅读全文
posted @ 2007-12-14 20:31 jeff377 阅读(1184) 评论(1) 推荐(0) 编辑
讓 GridView 的 CheckBoxField 產生 PostBack 並攔截事件
摘要:在上一篇「GridView 中的子控制項取得所屬的 GridViewRow 及 RowIndex」 文章中有提到 TemplateField 中的 ChckBox 產生 PostBack 觸發事件,若我們希望直接使用 CheckBoxField 能不能達到相同 PostBack 的效果呢?以下的範例,就是要以 CheckBoxField 來達到相同效果。 假設要執行 PostBack 的 Che... 阅读全文
posted @ 2007-12-14 19:39 jeff377 阅读(1229) 评论(0) 推荐(0) 编辑
GridView 中的子控制項取得所屬的 GridViewRow 及 RowIndex
摘要:假設在 GirdView 欄位的 ItemTemplate 中放置 CheckBox 控制項,然後設定該 CheckBox 的 AutoPostBack 為 True,希望在 CheckBox 的CheckedChanged 事件撰寫相關程式碼。 *.aspx 的程式碼如下 Code highlighting produced by Actipro CodeHighlighter (freew... 阅读全文
posted @ 2007-12-14 19:29 jeff377 阅读(1049) 评论(7) 推荐(0) 编辑
擴展 CommandField 類別 - 刪除提示訊息
摘要:GridView 中 CommandField 的刪除鈕預設是沒有刪除提示訊息,一般的作法是在 GridView 的 RowDataBound 事件中找到 CommandField 中的按鈕來設定它的刪除訊息。這種方式雖然可以達到需求,不過每次使用時都要自己增加程式碼是個麻煩的動作。 為了開發上的方便,本文中示範如何擴展 CommandField 類別,透過屬性就可以輕易設定刪除提示訊息。首先... 阅读全文
posted @ 2007-12-14 02:38 jeff377 阅读(1967) 评论(8) 推荐(0) 编辑
GridView 欄位 CheckBox 全選及取消全選
摘要:如何在GridView做到指定欄位的CheckBox的「全選/取消全選」的功能,筆者有在網路上搜尋到一篇不錯的文章如下,文章中有詳細介紹如何實作此功能 GridView CheckBox Selection With a Twist http://www.codeproject.com/cs/miscctrl/GridViewCheckBox.asp 不過它的範例在GridView具有二個以上... 阅读全文
posted @ 2007-12-12 23:56 jeff377 阅读(3862) 评论(0) 推荐(0) 编辑
設定 UpdatePanel 中控制項的 focus
摘要:在 UpdatePanel 中會導致控制項的 Focus 方法失效;若要執行設定 Focus 的動作,就要自行輸出 JavaScript 來達成。 假設有一個 TextBox1 控制項要設定 Focus 則需撰寫如下程式碼。 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHig... 阅读全文
posted @ 2007-12-12 15:49 jeff377 阅读(437) 评论(0) 推荐(0) 编辑
CallBack BasePage (簡化 CallBack 回呼程式碼)
摘要:在 ASP.NET 中若要使用 CallBack 機制必需實作 System.Web.UI.ICallbackEventHandler 介面,若很多頁面都需要使用 CallBack 機制時,可以在 BasePage 實作 System.Web.UI.ICallbackEventHandler 介面就好,讓 BasePage 引發 CallBack 回呼的事件,這樣在使用 CallBack 時就可以... 阅读全文
posted @ 2007-12-10 13:00 jeff377 阅读(1544) 评论(2) 推荐(0) 编辑
CallBack 與 UpdatePanel 的效能比較
摘要:在 ASP.NET 2.0 預設實現 AJAX 有二種方式,一種是 CallBack 機制,另一種是 ASP.NET AJAX 的 UpdatePanel。如果就開發使用的便利性而言,無可爭議的一定是使用 UpdatePanel,因為它可以讓 AJAX 實現的不著痕跡;而使用 CallBack 機制必需實作 System.Web.UI.ICallbackEventHandler 介面,並處理 Ca... 阅读全文
posted @ 2007-12-09 13:45 jeff377 阅读(2153) 评论(2) 推荐(0) 编辑
讓 CheckBoxField 繫結非布林值(0 或 1)欄位
摘要:有時 CheckBoxField 會需要繫結到非布林值的欄位,例如繫結的欄位值為 0 或 1;但是預設的 CheckBoxField 若繫結的欄位值為 0 或 1 時 (非布林值) 會發生錯誤。一般的解法都是使用 TemplateField 來處理,不過本文使用另一種方式,改寫 CheckBoxField 類別,讓 CheckBoxField 有辨法繫結 0 或 1 的欄位值。 作法大致如下: ... 阅读全文
posted @ 2007-12-06 22:28 jeff377 阅读(496) 评论(0) 推荐(0) 编辑
遞迴方式的 FindControl
摘要:一般 FindControl 函式只能找到第一層子控制項,像 GridView、FormView 之類的複合式控制項,要尋找包含的控制項就非常麻煩,要明確找到父代控制項(容器),才能使用 FindControl 去找到子控制項。而且一旦所有往上的父代控制項有任一層變更,就需要再去修改程式碼。 為解決上述的問題,可以使用遞迴的方式來進行 FindControl 的動作,來簡化尋找控制項的麻煩。請... 阅读全文
posted @ 2007-12-06 20:27 jeff377 阅读(506) 评论(0) 推荐(0) 编辑
GridView 與 DetailsView 連動 - 繫結同一個 SqlDataSource
摘要:若在頁面中包含了一個 GridView 及 DetailsView 控制項,當 GridView 選取某一筆時,希望在 DetailsView 中顯示那一筆的詳細資料。一般的作法會讓 GridView 及 DetailsView 會繫結各別獨立的 SqlDataSoruce,當 GridView 選取時就以主鍵去對 DetailsView 的 SqlDataSource 做篩選資料的動作。 不過... 阅读全文
posted @ 2007-12-06 08:23 jeff377 阅读(3340) 评论(6) 推荐(0) 编辑
按鈕加上詢問訊息
摘要:在 ASP.NET 中 Button 是唯一預設會 PostBack 的控制項,若要在按下按鈕時,出現執行的詢問訊息,可以在 OnClientClick 屬性加入JavaScript 的 confirm 函式來處理。Button 控制項輸出到前端的 HTML 碼時,會依 UseSubmitBehavior 屬性值的 True 或 False 而有不同,而在處理詢問訊息時也會有差異。 在頁面上置放一... 阅读全文
posted @ 2007-12-05 19:40 jeff377 阅读(930) 评论(4) 推荐(0) 编辑
動態新增控制項與 ViewState
摘要:在 Page Init 事件中動態建立的控制項有辨法自行維護狀態,因為這些控制項在 PostBack 後會執行 LoadViewState 來還原控制項的狀態。不過我們來看一個案例,首先在頁面上放置一個 Button 做 PostBack 使用,然後在程式碼中 Page Init 事件中動態建立一個 Literal 控制項,並在頁面第一次執行時(判斷 Not IsPostBack) 設定 Lite... 阅读全文
posted @ 2007-12-05 06:56 jeff377 阅读(2856) 评论(17) 推荐(0) 编辑
讓 DropDownList DataBind 不再發生錯誤
摘要:DropDownList 在執行 DataBind 動作時,若 Items 集合中不存在繫結的欄位值時會發生 Exception。不過 DropDownList 這種設計方式常會造成困擾,很多時候繫結的欄位值無法預期,而且 DropDownList 控制項在這種狀況釋出的錯誤在頁面程式碼中無法處理。 為了解決這種情形,比較快的方式就是直接改掉 DropDownList,在控制項中處理這種無法繫結... 阅读全文
posted @ 2007-12-04 00:32 jeff377 阅读(2369) 评论(10) 推荐(0) 编辑
TBDateEdit 日期控制項 - 1.0.0.0 版 (Open Source)
摘要:TBDateEdit 日期控制項 - 1.0.0.0 版 發佈日期:2007/12/02 程式下載:TBDateEdit_1.0.0.0.zip 介紹 TBDateEdit 日期控制項是純用戶端的日期選單,整合 The Coolest DHTML Calendar (註1) 強大的 JavaScript 日期選擇器。透過控制項屬性的設定來簡化撰寫 JavaScript 程式初始化 The C... 阅读全文
posted @ 2007-12-03 10:39 jeff377 阅读(1781) 评论(0) 推荐(0) 编辑