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

...繼續閱讀 »

[ASP.NET] 談談 Cookie 特性


身為 Web 開發人員,不管你今天是寫 PHP、ASP.NET … 等,一定都有聽過 Cookie,正所謂「工欲善其事,必先利其器」,而常見的 Cookie 會用來記錄使用者的登入資訊,但又有多少人是真正了解 Cookie 的特性呢,我想每個網頁開發人員應該都要確切了解 Cookie 的特性,以免哪天寫的程式碼有了漏洞讓駭客成功竊取到相關資訊,或是存了太多 Cookie 在同一個頁面而拖慢了網站的速度,今天舊讓我們來談談 Cookie 吧!

...繼續閱讀 »

[ASP.NET] 利用 ConvertEmptyStringToNull 解決 空字串 自動轉成 NULL 問題


相信大家一定多多少少有碰過當某個資料欄位為 NULL 時,導致過濾出來的資料不正確,而早期的開發人員可能會選擇在資料庫欄位上加上預設值,但因為筆者是使用 Entity Framework 來跟資料庫做溝通,而 EF 在處理預設值時,又會因為每次重匯資料表就要重新設定顯得會有些麻煩,所以下面提供幾種解決方法來跟大家分享。

...繼續閱讀 »

[ASP.NET][筆記] 搶先看 ASP.NET & Visual Studio 2013 個人重點整理(圖文並茂篇)


2013 TechEd 目前正舉辦中,在 Channel 9 也已經釋出許多相關的影音和簡報檔給無法到場的開發人員享用,而這次對於 ASP.NET & Visual Studio 2013 也公布了不少的更新,看完相關簡報檔之後根本覺得肝已經持續在燃燒了,如果你也是個有熱忱的 ASP.NET 開發人員跟著我一起,本篇小小記錄一下 ~

...繼續閱讀 »

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


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

...繼續閱讀 »

[ASP.NET][jQuery] ASP.NET & jQuery 注意小細節來防止XSS攻擊


在開發網站時最害怕的莫過於開發人員寫出了一個具有被攻擊性的網站,而其實很多開發人員如果一不注意就會踏進了 Cross-Site Scripting(XSS)的地獄,解決方法很簡單但卻也很容易踏進去,以小弟來說就也曾經跳進去很多次,尤其式透過 jQuery 在操作動態網頁時很容易沒想清楚就用錯方法導致 XSS 錯誤發生,所以這邊筆者整理了幾種在撰寫上的技巧來跟大家分享如何防止XSS攻擊。

...繼續閱讀 »

[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 兩位前輩的文章後,整理出兩種小弟覺得比較可行的替代與解決方案。

...繼續閱讀 »

[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(跨來源資源共享) 。

...繼續閱讀 »

[WebAPI][jQuery] ASP.NET MVC Web API (2)-從無到有,利用jQuery來進行CRUD


上一篇針對 ASP.NET Web API 做了一個簡單的介紹,如果對概念還不是很清楚的讀者可以在回去看看上一篇的介紹,Web API 即為一種 Web Service ,並尊循了 REST 的設計風格,而其輕量化的服務可以為我們省略很多傳輸上的資源,以筆者的個人經驗來說最近將專案上的某些服務拉上 Web API 實作,整體的運作流程上真的比原本呼叫 Controller 來的快許多,而因為其又遵循了 REST 設計風格,讓筆者可以很輕鬆透過前端的 jQuery 來對我們後端的資料作請求,所以接下來這篇將針對利用 jQuery 發送請求至我們的 Web API 來對資料做 CRUD ,而在操作上有哪些需要注意的地方。

...繼續閱讀 »

[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][jQuery] 如何使用 jQuery+Model 做到INPUT的maxlength?


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

...繼續閱讀 »