【ASP.NET 4.0】

ASP.NET發展史:

  1. 2002/1/16 ASP.NET 1.0
  2. 2003/4/24 ASP.NET 1.1(主要是穩定度改善)
  3. 2005/11/7 ASP.NET 2.0 (大改版 MasterPage, Theme, Skin, Web Part, Membership, Login, Navigation…)
  4. 2007/11/19 ASP.NET 3.5 (AJAX內建、LINQ)
  5. 2008/8/11 ASP.NET 3.5 SP1 (DynamicData,  Entity Framework, AJAX Enhancement: Script Combining/History)

ASP.NET 4.0中的WebForm改變:

  • SEO(Search Engine Optimization),以往要自己加Tag<meta name="keywords/description"...>,現在物件支援Page.MetaKeywords = “…”
  • 支援自訂ViewState, ClientID
    過去只能用EnableViewState=”false”,而AJAX/MVC幾乎不用ViewState,所以有更簡單的宣告方法,PlaceHolder ViewStateMode=”Disabled”,容器內的WebControl就通通停用ViewState。
  • Web.config最少化,預設只剩不到10行東西。
  • ClientIDMode = “Static”可以直接指定,AutoID(過去),Predictable配合ClientIDRowSuffix=”欄位名稱"(註: 好像只能控制最後一段,Scripting時要找ElementId還是不太方便)  [延伸閱讀]
  • Snippet Everywhere: HTML, JS, …

<DEMO>打tb 按Tab 出現<asp:TextBox … req 按Tab 自動插入RequiredFieldValidation,對於愛用手工Coding不拖拉的人來說,方便許多。

ASP.NET AJAX 4.0

ASP.NET MVC

  • 適用大型應用程式
  • 參考RUN!PC、其他場次

ASP.NET Dynamic Data

  • GridView, FormView, DetailsView與DB相依嚴重,欄位一變了UI就要修改
  • 雖有Template機制,但與DB仍相依嚴重
  • 以同一個模版處理不同的資料表,方法類似昨天的SL3 DataAnnotation展示(由欄位自動產生頁面) [註: 老話一句,若UI要高度客製化時就不會像Demo Case這麼輕鬆愉快]

[... 此刻,大會堂搖滾區居然傳出打呼聲 ...】

Url Routing

  • 搞出REST風格的URL
  • Global.asax: Routing.RouteTable.Routes.Add(…)

4.0 WebControl Support Dynamic Data

  • Add Reference to System.Web.DynamicData, System.ComponentModel.DataAnnotation
  • Control.EnableDynamicData(…)
  • Tips: 資料欄位屬性註解放在metadata partial class, 以免重Generate LINQ to SQL Class時被Overwrite

【IE8相關程式設計】

IE8新服務: Search Provider, Web Slice, Accelerator,做一個可依QueryString查詢資料的ASPX:

  • Search Provider: 自訂一個Search Provider定義檔,再註冊即可
  • WebSlice: 改裝一下網頁Tag
  • Accelerator: 多自訂一個Accelerator定義檔即可

Search Provider:

  • 範例: 證券公司查股票代號、DVD租片查詢
  • 設定檔:
    Keywords: OpenSearchDescription, window.external.IsSearchProviderInstalled, window.external.AddSearchProvider
  • 搜尋建議: 傳回XML,直接在搜尋輸入關鍵字輸入欄位下方顯示
    Keywords: SearchSuggestion
  • 預覽查詢: 像Accelerator一樣,可以選取網頁文字按右鍵就直接檢視
    Keywords: ie:PreviewUrl

[坐在音控桌旁,音控大哥趴在桌上呼呼大睡。我想可能這種音控Case實在太過小兒科,依行規,若不能展現"睡著也能控"的雍容,就會有辱專業,說不定還無法加入同業公會~~~]

<DEMO> ListView做KTV歌曲查詢,AJAX Hover Menu

WebSlice:

  • 指定特定class: hslice, id, entry-title, entry-content, ttl, feedurl, endtime
  • 改裝過的網頁在瀏覽時Toolbar會出現綠色符號,元素onhover時也會顯示
  • 可以設定訂閱多久更新一次資訊
  • 身份認證: Cookie, HTTPS+基本驗證, HTTP+摘要驗證, HTTPS+摘要驗證。IE8介面有地方可以輸入WebSlice要用的登入帳號

【VS2008 IDE Tips and Tricks】

    1. 工具/選項/國際設定/語系: 一台機器上同時跑中、英文版Visual Studio
    2. Line Number: 選項/文字編輯器
    3. 選取時的反白顏色: 環境/字型與顏色
    4. ToolTip字太小?: 環境/字型與顏色/Editor Tooltip
    5. Editor視窗分割: 將檔名Tab拖拉到目前的編輯視窗,選擇要垂直或水平分割同時顯示,二視窗就會分割顯示。還原時將Tab拖回其他Tab旁 。
    6. 全螢幕模式: Shift-Alt-Enter
    7. Virtual Space: TextEditor/All Languages: Settings/Enable Virtual Space。向下移時,不管下方列文字長度,可以移至同一欄正下方。
    8. Block Select: 即UltraEditor Column Mode選取模式, 那種選取某一欄右方的部分的概念。(滑鼠選取時按Alt, KBD: Alt-Shft-方向鍵)
    9. Word Select: Ctrl-Shift-方向鍵
    10. Incremental Search: Ctrl-I,逐一輸入字母,F3->下一筆,Shift-F3->上一筆
    11. Clipboard Ring: Ctrl-Shift-V 可以一直循環前幾次Copy的內容
    12. Visual Studio啟始頁: Environment/Startup: Start Page news channel, 啟動頁的RSS URL
    13. 複製檔案路徑: 在Tab上按右鍵選 複製路徑、開啟收納資料夾
    14. 開啟檔案所在位置資料夾: 在Solution Explorer找到Folder,按右鍵"在檔案總管中開啟資料夾" (Open Folder in Windows Explorer)
    15. 建立可抛式專案: Tools/Option/Project/General, Save new project when create 。如此專案會建在暫存區,不會生出一堆檔案來。
    16. 加入垂直Guides: Regedit HKCU\Software\Microsoft\VisualStudio\9.0\TextEditor\Guides: String=RGB(255,0,0) 10,20,30,40,50,60,產生六道垂直直線
    17. 格線及標尺: Tools/Options/Html Designer/Ruler and Grids 設完後,還要View/Show Ruler, Show Grid
    18. Code Snippets到Toolbox: Source View時,顯示工具箱,選取文字內容拖到工具箱
    19. 以Tab Tab加入Code Snippets: 輸入for,按兩次Tab,帶出程式片段後,再按一次Tab會再到可輸入修改的部分。ex: ctor(預設建構式), prop(屬性實作)
    20. Breakpoint: 條件式中斷(設Condition),符合某條件時才中斷。
    21. Registry: HKCU/…./VisualStudio/9.0/UseMRUDocOrdering=1,點選到的文件Tab永遠在第一個位置。
    22. 編輯VS的專案檔案: Unload Project->直接在IDE編輯.csproj->Reload Project
    23. 自動Using: 輸入某個沒有using Namespace的Class Name,Ctrl + "." -> 列出其Namespace,按Enter就自動加上
    24. Registry: HKCU/…./VisualStudio/9.0/Find/Find result format,去除查詢結果中又臭又長的部分,例如: 不要顯示完整路徑
    25. 動態快速縮放: Options/Environment/Keyboard 搜尋Macros-> Macro.Samples.Accessibility.IncreseTextEditorFontSize 設成Ctrl-Alt-Shift-Up,縮小設成Ctrl-Alt-Shift-Down
    26. 插入新行: 向上/向下增加空白列 Ctrl-Enter(插入上方列), Ctrl-Shift-Enter(插入下方列)
    27. 格式化文件: 重新排版XML使其變得好看,先按Ctrl-K再按Ctrl-D
    28. Solution Explore上方的尋找關鍵字方格輸入>File.OpenFile web.config  --> 快速開啟不知放在哪裡的檔案

[註: XML Validator跳過未講,屆時請看投影片]


Comments

# by bala

覺得Tips那堂課,講師好像講太久了...@@ 感覺上應該可以很快才對...

# by Singleh

感覺上可以更有趣,老師的梗可以想多一點

# by ooa

感謝你提供心得筆記~~ 現在回憶起來更為方便了︿︿

Post a comment