(.NET)ASP.NET
ASP.NET相關文章
Silverlight 2 Control Toolkit 初體驗(安裝錄影教學)
這篇文章包含了小喵參加TechEd 2008的心情,以及各項課程(SQL2008,.NET Famework3.5,IE8,Silverlight 2)的一些會後整理。想想多多少少還有點參考價值,所以放到首頁來了
VS提供可以存放程式碼片段(相關步驟請參考大鈞Dotjum的一篇VS.NET 裝上 程式碼片段 (Code Snippet )),讓我們把常用的一些片段程式可以方便使用。本篇則是介紹另一個,使用【工具箱】來存放常用程式碼片段的方式。存放的程式碼,可以自行定義索引區塊,小喵在此舉常用的一些ADO.NET語法片段來當作範例
TextBox在Client端Onfocus的時候,游標停留在最後一個字後面
本篇開始介紹如何將【畫面結構】設定與【角色/使用者】設定結合。用以設定【授權】
角色/使用者→畫面:角色/使用者擁有哪些畫面的權限
畫面→角色/使用者:一個畫面,對於眾多角色/使用者的權限設定
使用ADO.NET動態設定GridView資料的排序範例
上次提到jQuery開始勾引小喵後,在開發過程中,總覺得少了些什麼。沒錯,在被VS的Intellisense寵壞後的小喵,沒有這個實在有點痛苦。之前網友有篇在VS 2008 使用JQuery 自動提示( Intellisense) 提到不過在中文的VS2008還是無法使用。不過自從更新了SP1後,這一切問題改善了。
有次小喵剛好要買幾本書,在逛【書店】的時候的時候(小喵目前已經很少跑真正的書店,逛得只是書店的網站),還差一點就可免運費,所以順便找找看是否有什麼新書可以買。剛好看到jQuery有本新的中文書出版。於是小喵就把它放入購物車。從此開始與jQuery結緣。本來買了書後,打算先翻翻看看這個東西到底是什麼,能讓黑暗執行緒大大隊ASP.NET AJAX Client Library發出好人卡。沒想到這個迷死人不償命的小寶貝,竟然開始勾引小喵。
小喵寫這篇是源自於小喵上一篇文章【物件Object的New,Dispose與Connection的Open,Close概念分享】,小喵最後描述【當物件Dispose的時候,並沒有把該段記憶體清空,只是標註,這段空間不再使用,直到GC啟動把他清空才算真正的清空。】。但是小喵看一些網路文章時,有些卻提到當呼叫Dispose的時候,記憶體立即釋放。因此小喵就做這個測試來看看到底是怎麼回事。
這個功能應該蠻多人會用到的,在GridView的某一筆資料點選【編輯】之後,希望能夠用下拉選取的方式選擇資料,然後按下更新後,可以將下拉後的選項更新到資料庫
全部過程都用設定的方式,並不需要寫任何程式碼,適合初學者學習。
物件Object的New,Dispose與Connection的Open,Close概念分享
經常遇到一些人寫成是因為沒有New造成程式錯誤,另外對於Connection的New,Dispose,Open,Close概念也不是很清楚。小喵本篇就小喵自己的認知來說明這些東西的意義
承繼上篇【ObjectDataSouce簡介Part1:兼具ADO.NET的自由與DataSouce的方便】,我們這篇就來拿個實際範例,告訴各位如何撰寫相關的程式。
一般市面上介紹的書籍,大部分都會從SqlDataSouce與GridView,DetailView等DataControl來介紹,當然這些東西很方便,可以在最少的程式碼的情況下,做出新增修改刪除查詢。但是,事實上在專案開發下並非如想像中這麼美好,您不會永遠都是處理單一資料表的新增修改刪除查詢。當遇到要處理兩個資料表以上的時候,又該如何呢??
在ASP.NET 2.0裡面多了一個ObjectDataSouce,這個東西可以讓我們在處理資料的時候,可以透過自己寫的程式,或者已經開發好的物件來撰寫。
小喵以前撰寫ObjectDataSouce都是透過DataSet,DataTable,DataReader的方式傳回值,而要進行維護的動作,也是一個一個的參數慢慢傳遞,後來小喵看到Jeff大大的這篇文章【ObjectDataSoruce 繫結 BusinessObject 控制項】,原來可以用物件的方式來傳遞,於是小喵今天開始著手看看是否能夠改用物件的方式處理。
資料表設計經常會有Head,Detail的設計,拿最普遍的範例(北風資料庫)來看。訂單就有分為訂單Head檔(Orders)與訂單Detail明細(Order Details)這兩個資料表。當然這樣的資料表示有關係的,已訂單為例的話,關係就是訂單編號(OrderID)
那麼如何在畫面上展現這樣的資料呢,小喵整理以下幾種
ASP.NET方便套用一致外表的Skin(Theme)(動態錄影教學)
小喵錄製個動態教學,透過這個動態教學將可以學到
如何建立Theme,Skin
如何套用Page的Theme設定與Skin的關係
如何設定全部的Page套用相同的Theme
如何動態的更改SkinID達到動態的變更Skin
其實這個問題並不難
比較麻煩的是一般人可能不知道如何設定【物件中的物件】如何去設定他的事件。
以這個範例為例...
緣起
承繼前兩篇,從第一篇的【願景】,與第二篇的【樹狀結構畫面維護】,這一篇來談談如何處理角色的部分。角色的意義,請參考小喵第一篇【ASP.NET進階權限控管-Part 1 願景】裡面的說明,這裡就不再贅述了。直接進入到角色的定義、以及角色←→使用者之間的關係如何維護。
先從角色的定義來談起,先看一下角色的欄位說明
在使用WebUserControl的時候,如果一個畫面有數個WebUserControl的話,他們彼此間要怎麼溝通呢,也許有人說,使用FindControl/Property啊!!的確,小喵以前是這樣處理的,不過小喵卻發現這會讓WebUserControl在程式撰寫上變得複雜,既然要寫成WebUserControl,就是要把這些東西抽出來獨立處理/重複使用。但是如果寫的過程讓他與別的東西關係太密切,那就失去了抽出獨立處理/重複使用的目的。
再一次偶然的機會與熱心的Allen大聊到了物件(物件小喵一直都還在學),Allen大十分熱心的提示小喵可以用Interface來解決這類的問題。後來小喵在Allen大的文章也找到相關的範例與影片教學。不過範例是C#的,小喵用VB.NET來說明一次。
摘要:線上C#(CSharp)與VB.NET互轉的網站
在網路上看使用者發問的時候,還有很多從ASP剛轉換ASP.NET的開發人員,在使用者驗證與畫面授權上,還是沿襲著以往的Session驗證的方式。其實在ASP.NET裡面就有一整套完整的驗證與授權機制。使用內建的機制可以更簡單的就能夠做到【登入驗證】與【資料夾授權】的功能。透過這篇文章,希望讀者可以學到驗證授權機制、如何搭配自己的資料庫,做到相同的驗證機制。
小喵在開發系統過程中,經常會去查詢資料庫Table的Layout,一般來說會把他做成額外的文件,例如用Excel把Table的Layout打在上面,不過這個會有個問題,當資料庫Layout變動的時候,如果忘記去修改Excel文件中的Layout,那麼久而久之就會造成困擾(看到的文件與實際資料庫的不符合)
因此小喵特別設計一個
承繼上一篇【確保交易的新利器(TransactionScope)初體驗-Part 1(注意Scope.Complete的位置)】接著小喵有興趣的事,現在很多人開始使用OOP設計系統,那麼在一個商業邏輯中,透過兩個以上的物件來分別維護數個資料,在這樣的過程中,又如何確保交易的完整性呢。
於是小喵再次撰寫個物件來做個測試,這次
從.NET Framework 2.0以後,有個新的東西稱之為TransactionScope,他可以讓我們在處理交易的時候,可以確保交易的完整性,並且使用十分的簡便,小喵在此測試一下他的撰寫方式與結果,在測試過程中,驚人的發現了MSDN的一個錯誤內容。
繼承上一篇的願景【ASP.NET進階權限控管-Part 1 願景】,接著這篇先來講講一些基本的部分。
首先是【登入結合自己的資料庫】,以及【TreeView樹狀結構結合資料庫】這兩個部分,由於小喵以前已經有文章說明了這兩個部分,所以在這邊也不贅述。請看考以下的這兩篇。
瞭解了上面的這些部分候,接著就是如何維護樹狀結構,看一下維護運作的畫面先
這個主題小喵一直以來一直想要做分享,但是又不知從何分享起,因為小喵的這套機制有點點複雜,他除了可以結合自定資料庫的使用者登入、角色概念外,還搭配了TreeView與資料庫結合,等等的技術。算是一個還蠻進階的運用。相關的介紹可能不是一兩篇Blog能夠介紹完。到底要多少篇小喵也不曉得...就從小喵希望達到的願景(事實上已經達到並上線使用中)開始介紹起。
有時候希望多筆顯示訂單,但是訂單Orders、訂單明細OrderDetail可能分屬於不同的資料表中,因此如果多筆顯示的時候,就可以使用這個【巢狀GridView】的技巧。
這個範例會說明三個東西:
1.DropDownList與GridView互動
2.巢狀GridView的設計
3.透過RowDataView使用欄位名稱取得GridView某欄位的內容
在這篇範例裡面,資料庫使用北風資料庫,主要講兩個東西,其實都還蠻基本的
DropDownList動態結合GridView:
透過 GridView的RowDataBound事件計算合計:
ASP.NET寫一支透由圖片來產生文字排列圖片的程式(VB.NET)
為了方便使用者的使用,因此會有【單一登入】的需求出現,只要登入一個應用程式後,要跳到別的Web應用程式,不需要再次輸入帳號密碼,可以直接就進行登入。但是為了考量安全性,還是要考量一下怎麼設計才能夠兼顧安全與便利。
剛好網路上有網友詢問到抽獎的問題,小喵將小喵的方式記錄在此
我需要從資料庫中亂數的撈出10筆購買資料,並且給予1~10的編號依序獲得獎項
解決GridView使用RenderControl取得HTML出現的問題
在CodeFile中取得控制項將輸出Clinet端的HTML內容
Ajax Control Toolkits 3.5 於VWD2008 安裝初體驗
Ajax Control Toolkit初體驗之下載,安裝
如何撰寫包在物件中(FormView,DetailView...)物件(DropDownList,TextBox,....)的事件
ASP.NET Ajax 1.0 初體驗 Part2 (範例:多層式下拉與3+2郵遞區號查詢撰寫錄影檔)
ASP.NET Ajax 1.0 初體驗 (安裝、試用)
安裝完.NET Framework 2.0後才發現IIS沒安裝的問題(無法存取 IIS Metabase)
將文字20061226轉成日期方式2006/12/26
如何判斷TreeView是否有Node被Selected
ADO.NET 2.0 的 DataTable可以直接從DataRead讀取
使用Using來宣告Connection來Connection自動關閉回收,避免忘記回收關閉
GridView,DetailView自定刪除按鈕並可詢問是否刪除的設定方式
使用程式指定GridView的某筆資料轉成編輯模式方式
DorpDownList資料DataBind的撰寫方式
Full (.NET)ASP.NET Archive