[.NET][實作篇] 實作自己專屬的 ASP.NET MVC Model Metadata 產生器


[.NET][實作篇] 實作專屬自己的 ASP.NET MVC Model Metadata 產生器
在開發 ASP.NET MVC 的 Models 時,在對 Model 做資料驗證時時常會發生某些惱人的事情:像是哪些欄位該設定 Required 或是欄位長度也要額外去定義,但有時候欄位一多對照起來可是見累人的事情,剛好前陣子在點部落看到 Gelis 前輩所寫的 架構設計好簡單系列(3) - 設計自己簡單的 ORM 平台 ,身為熱血的程式設計師,當下立刻有感而發馬上著手來寫一個可快速產生 ASP.NET MVC Model Metadata 的產生器,本篇分享一下筆者的實作經驗,供大家參考看看。

...繼續閱讀 »

[ASP.NET MVC] 天天 MVC 快樂笑 CC (三) - 從 View 將資料 Post 到 Controller - 大賣場的結帳流程為例


[ASP.NET MVC] 天天 MVC 快樂笑 CC (三) - 從 View 將資料 Post 到 Controller - 大賣場的結帳流程為例
在上一篇當中我們學會了如何使用 ViewData 和 ViewBag 將資料從 Controller 傳進 View 當中,我們也知道了同一個 Action 會因為 return 的方法不同而會有不一樣的結果,接著我們來看看在 ASP.NET MVC 中是如何處理表單資料的,本篇會以大賣場的結帳流程當做的範例,解釋表單 POST 資料所需具備的條件以及原理,以及如何利用 ASP.NET MVC 的內建方法在 View 中產生我們需要的 HTML 標籤,相信 ASP.NET MVC 初學者一定不能錯過!

...繼續閱讀 »

[ASP.NET MVC] 天天 MVC 快樂笑 CC (二) - 從 Controller 傳值到 View - 進房間 Say Hello

[ASP.NET MVC] 天天 MVC 快樂笑 CC (二)–從 Controller 傳值到 View - 進房間 Say Hello
在上一篇我們聊到了 Controller 和 View 之間的關係,將 Controller 比喻成「房子」、View 比喻成「房間」,Controller 可以決定哪個門(Action)可以進去哪間房間(View),接著我們來看看如何從 Controller 把值傳到 View 裡面並顯示,甚至加上一些更進階的功能,這次我們也會請到建築師和室內設計師來為房子(Controller)和房間(View) 新增些功能,讓我們的網頁看起來更佳生動 ~

...繼續閱讀 »

[ASP.NET MVC] 天天 MVC 快樂笑 CC (一) - 認識控制器(Controller)、檢視(View) - 房子與房間的關係

[ASP.NET MVC] 天天 MVC 快樂笑 CC (一) - 認識控制器(Controller)、檢視(View) - 房子與房間的關係
為了考驗自我人品而打算來寫天天 MVC 系列文章,也剛好學校的學弟妹都在學 ASP.NET MVC ,常在想每次有新人要學就得在重頭教一遍,有什麼樣的方式能讓新人可以快速的上手,最後還是覺得如果能把內容的用部落格記錄起來,這樣才能省時又省工,當然網路上還是有許多 MVC 系列文章也可以一起參考學習啦。最後,內容將由淺入身,以初學者的角度來撰寫,希望能幫助更多人在學習 ASP.NET MVC 的路途上能快愉快,OK , Just Let We Go !!!!!

...繼續閱讀 »

[TechDays 2013] ASP.NET MVC5 新功能探討 - 個人重點筆記(圖文)


在過不久 ASP.NET MVC 5 就要正式上線了,從 ASP.NET MVC 2.0 .... ASP.NET MVC 3 ... ASP.NET MVC 4 ... 一直到 ASP.NET MVC 5 短短幾年的時間,也看出微軟在這方面做了不少努力,快來看看這次的 Techday 分享的 ASP.NET MVC 5 新功能探討又會有哪些內容,相信身為 ASP.NET MVC 開發人員你一定不能錯過!

...繼續閱讀 »

[ASP.NET MVC] 建置高效能網站-壓縮你的 CSS 與 JS (Minify & Bundle)


前幾天學校學妹們問了個問題:「在 ASP.NET MVC 裡面怎麼使用 Javascript 和 css 阿 ?」基於他們本身對網頁基礎不是很深,加上沒實戰過真的都不知道自己能力到哪 ~ 所以就丟了個小題目給他們實際練習,剛好需要寫到 CSS 與 Javascript ,所以就趁這個機會寫一下在 ASP.NET MVC 4 裡面內建的 Bundle 功能,如何來幫我們打包 Javascript 和 css 檔案且產出高效能的網站 ~

...繼續閱讀 »

[ASP.NET MVC][jQuery] 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)


相信寫過 ASP.NET MVC 的人都知道,在 ASP.NET MVC 中已經沒有像 ASP.NET Web Form 那樣有許多內建控制項了,而一般在開發專案上可能會滿常碰到一個需求:當我點了 TD 之後那格會變成 TextBox 離開後就會儲存或者是 Table 的 TH 可以改變大小、可以改變順序...等等的功能,當然從 jQuery 出來之後網路已經有許多好用的套件了,像是 jqGrid、DataTables...等,但往往這些套件提供的功能又不是全部都是我們需要的,所以這篇就要教大家如何實作一個簡單的 GridView 可以讓使用者編輯,並且提供了的分頁功能 ~

...繼續閱讀 »

[ASP.NET MVC] 使用 ASP.NET MVC Web API CORS 以達到AJAX跨網域請求 (Beta Preview)


我們都知道許多瀏覽器基於安全方面的考量,會禁止瀏覽器透過 AJAX 來存取外部網站,這也代表著如果我們利用 Web API 寫了一個 Service 想要提供給使用者來使用,使用者無法從其網站來取的你的 Web API 。話雖如此,在 ASP.NET Web API 中只要透過屬性的設定就可以讓我們的 Web Service 支援 CORS(跨來源資源共享) 。

...繼續閱讀 »

[ASP.NET MVC][jQuery]如何讓 jQuery.ui.Autocomplete 顯示前N筆資料-兩種實作範例(Server&Client)


現在的 Web Service 越來越重視使用者經驗(User Experience),在網頁上我們也滿常看到 AutoComplete 這種 jQuery Plug-in 能讓使用者在搜尋資料上更佳的方便,就像是常見的搜尋引擎我們只需輸入幾個字就會跳出相關的資料讓我們能更快速的找到我們要的東西,前陣子在專案的上剛好碰到類似的需求,共分兩種範例以Server端來實現資料查詢已經回傳前N筆,另一部分則是透過Javascript來對我們回傳的資料進行操作,供大家參考看看 ~~

...繼續閱讀 »

[ASP.NET MVC][筆記] 利用 TryUpdateModel 來做資料更新 (二) - ViewModel 篇


第一篇說明了 TryUpdateModel 的簡單的應用,除了可指定更新的欄位之外也可排除更新特定的欄位,而因為可搭配 Metadata 做欄位驗證為資料又做了一層把關,但在 ASP.NET MVC 中我們也很常針對每個的頁面(View)定義專屬的 ViewModel ,而若照個第一篇的寫法會發現欄位無法正確繫結,所以這篇就來教大家如何正確利用 TryUpdateModel 來為我們的 ViewModel 做資料更新 ~

...繼續閱讀 »

[ASP.NET MVC][筆記] 利用 TryUpdateModel 來做資料更新 (一)


有使用 ASP.NET MVC 的朋友們一定多多少少有聽過 TryUpdateModel,之前就看了很多有關它的文章,但在專案實務上都未曾實際使用過,而 TryUpdateModel 不僅能利用 Metadata 來做欄位驗證確保資料正確性,也可以指定更新的條件或是指定某幾個欄位不更新,這幾天剛好有時間就寫了簡單的範例,來看看它到底有什麼神奇魔力吧。

...繼續閱讀 »

[ASP.NET MVC] ASP.NET MVC 傳遞資料容器(三) - 總結


前兩篇把 ASP.NET MVC 中傳遞資料的物件特性介紹過了,分別為:ViewData、ViewBag 以及 TempData 這三種儲存容器,這三者之間有共通的地方也有不太一樣的地方,而在 ASP.NET MVC 中還有其他幾種儲存資料的容器,包誇 Session、Cookie、ApplicationState 等,這邊小弟就為大家整理了關於這幾種資料儲存容器之間的差異。

...繼續閱讀 »

[ASP.NET MVC][jQuery] 如何使用 jQuery+Model 做到INPUT的maxlength?


一般電子商務網站的註冊表單最常見的資料驗證莫過於:帳號密碼不能超過12個字、生日欄位是必須輸入的....等,而在 ASP.NET MVC 中只要透過 Model 資料驗證搭配 Jquery-Validate 的套件就能輕鬆達到前端的驗證,但是如果今天老闆或客戶告訴你:「我希望當使用者輸入的字元超過資料庫欄位大小就沒辦法在輸入了!」,這時候我們又該如何解決呢 ? 不過我們不用怕先請出三大金言:「莫慌、莫急、莫害怕」來為我們祈禱,再來看看該如何解決此問題!

...繼續閱讀 »

[ASP.NET MVC] ASP.NET MVC 傳遞資料容器(二) - TempData


上一篇介紹到了 ASP.NET MVC 中傳遞資料的其中兩種物件 - ViewBag 和 ViewData ,這兩兩方法僅能在我們的 Controller 返回 View 時將資料傳遞回去,但如果我們的需求是需要先將資料做暫存而等到下一次請求時在將資料讀取,這時我們就需要用到 TempData ,接下來讓我們看看它該如何幫助我們達到所要的需求吧。

...繼續閱讀 »

[ASP.NET MVC] ASP.NET MVC 傳遞資料容器(一) - ViewData vs ViewBag

呼呼!趁期中考前一週衝刺一下進度,上一篇寫到了如何開始我們的第一支 ASP.NET MVC 應用程式,接下來想跟大家分享一下傳遞資料的部份,不知道大家還記不記得 Controller 和 View 之間的關係,之前有提到 Controller 會負責決定要將執行結果返回哪個 View ,而 View 的功能就是接收 Controller 所傳遞過來的資料然後顯示。就像我們前端後端的概念那樣,我們今天在後端做了些運算而最後要如何顯示到頁面前端讓使用者看見呢?

所以接下來跟大家介紹在 ASP.NET MVC 中,有哪些物件可以讓我們在 Controller 和 View 或 Controller 和 Controller 之間傳遞資料吧 ~

...繼續閱讀 »

[ASP.NET MVC] 第一支ASP.NET MVC Web 應用程式


筆者第一次接觸 Web 的應用程式就是 ASP.NET MVC,也不知道到底這樣對一個初學者來說到底算是好還是壞,不過已筆者的經驗來說一開始就學 ASP.NET MVC 來當做 Web Application 的入門來說可以區分出幾個優缺點,如下:
1.除了範本產生以外所有的的 HTML Tag、CSS Style 幾乎都要自己 Code
2.因為 ASP.NET MVC 很多的方法都源自於 ASP.NET 所以很多方法無法靈活運用。
3.ASP.NET MVC 注重關注點分離,讓初學者剛開始學習時容易對三者之間的相應關係搞混。

...繼續閱讀 »

[ASP.NET MVC]初談 ASP.NET MVC

其實 MVC 不過就是一種軟體設計模式(Desigh-Patter),最早的 MVC 設計模式在1974年提出,而 MVC 這種設計模式目的就是為了實作一種動態的程式設計,使後續程式的修改和擴充功能簡化,並使程式碼都能重複利用。而在 MVC 設計模式裡,我們最常聽見的也莫過於「關注點分離」的概念,希望讓系統的每個地方都只做自己的事情,也因此MVC這種設計模式能大量改善早期的義大利麵式的程式碼。

...繼續閱讀 »