[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 !!!!!

...繼續閱讀 »

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


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

...繼續閱讀 »

[ASP.NET][Web API] 解決 ASP.NET Web API Json 物件循環參考錯誤


一般我們在開法 ASP.NET Web API 時,如果是使用 Entity Framework 技術來操作資料庫的話,當兩個 Entity 之間包含導覽屬性(Navigation Property)時,而當我們輸出的格式為 JSON 物件時,會出現一個例外,錯誤訊息為:「'ObjectContent`1' 類型無法序列化內容類型 'application/json; charset=utf-8' 的回應主體。」,而小弟參考了 Will 保哥以及 Bruce 兩位前輩的文章後,整理出兩種小弟覺得比較可行的替代與解決方案。

...繼續閱讀 »

[Web API] 認識 ASP.NET MVC Web API (1) - 新手入門篇


ASP.NET MVC 4 新增了一項新功能,就是 Web API,實作了 REST ,更精確的說是 ASP.NET MVC 本身也就是實作了 REST ;而 REST 屬於一種設計風格,REST 的定義有一件非常重要的概念是:如何正確使用網頁標準,也就是正確的利用 Post(新增資料)、 Get(取得資料)、Put(更新資料)、Delete(刪除資料) 來進行 CRUD,如果開發人員的應用程式符合 REST 原則,則可它的 服務為 "RESTful Web Service" 也稱 RESRful Web API",而在現今手持裝置普遍的時代,輕量化的 Web API 取代了 Web Service。

...繼續閱讀 »

[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] 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這種設計模式能大量改善早期的義大利麵式的程式碼。

...繼續閱讀 »