2013年9月28日 星期六

Visual Studio 2013 開發 ASP.NET MVC 於執行偵錯模式時的小改變

Visual Studio 2013 有不少的改變,除了很多大功能的增進與改善之外,有許多小地方的改變也蠻貼心的,讓我們在開發時可以更為順暢,這篇文章只是記錄一下這個小改變。


2013年9月27日 星期五

ASP.NET MVC 防範 CSRF 攻擊 - 在 AJAX 裡使用 AntiForgeryToken 的處理

在 ASP.NET MVC 裡要防範 CSRF 攻擊可以在檢視頁面上加入使用 AntiFrogeryToken,並且在後端所對應的 Action 方法加上 ValidateAntiForgeryToken Attribute,這樣就可以防止 CSRF 的攻擊,相關的資訊我之前有寫過依篇文章來說明「ASP.NET MVC - ValidateAntiForgeryToken 與 自定 HandleError 處理顯示客製的錯誤訊息頁」。

但如果網站的前端與後端互動大多都是經由 AJAX 方式的話,似乎就無法加上 AntiForgeryToken 來防護 CSRF 的攻擊,有些朋友是認為因為 Javascript 操作是不能跨網域的,所以就不用刻意對 AJAX 的操作加入 AntiForgeryToken 防範 CSRF,但我則是認為還是有必要去做這一層的防範,外在的攻擊手法是我們無法可以預測的,我們對於網站還是有必要去做到一些根本的防護,至少是多一層保障。

而這一篇則是跟大家說明如何在 AJAX 的操作裡使用 AntiForgeryToken。

 


2013年9月23日 星期一

ASP.NET MVC 建立可重複使用的縣市鄉鎮市區連動下拉選單 (Reuseable Cascade DropDownList)

這個部落格裡,光是連動下拉選單為主題的文章我就寫了好幾篇,如下:

jQuery 對下拉選單 DropDownList 的操作 - 2:連動下拉選單

jQuery 練習題:三層式連動下拉選單(無後端整合)

ASP.NET MVC 3 - 基本三層連動式下拉選單應用

jQuery 練習題:ASP.NET MVC 連動下拉選單與 jQuery UI Autocomplete ComboBox

連動下拉選單 - 使用 jQuery EasyUI ComboBox

其實連動下拉選單的功能並不難做,當頁面上需要有連動下拉選單功能時,都需要再去動手做,從頁面、Javascript 程式以及後端程式,一次兩次的需求的話是還好,不會太麻煩,但是有很多頁面都需要做連動下拉選單的時候,就會覺得很麻煩了,最常見的就是「縣市鄉鎮市區連動下拉選單」,尤其是當有一堆表單或是同一個頁面上有很多個別欄位都需要縣市與鄉鎮市區資料的時候。

所以這邊就使用 ASP.NET MVC 的 Partial View 把縣市鄉鎮市區連動下拉選單的做成可以重複使用,而且可以應付同一個頁面有多組資料都需要縣市、鄉鎮市區連動下拉選單的需求。

P.S. 此功能是顯示台灣的縣市與鄉鎮市區資料。

 


2013年9月21日 星期六

twMVC @ Microsoft TechDays Taiwan 2013 - (09.24 ~ 09.26)

每年的九月就是期待著一年一度的 Microsoft TechDays 盛會,在去年的時候 twMVC 也有參與,twMVC 與 Study4.TW 在此盛會中有個攤位讓大家能夠認識我們,而今年同樣也是承蒙台灣微軟的贊助,讓 twMVC 在今年仍然可以在此盛會中與大家見面,此次的 Microsoft TechDays 合作社群除了 twMVC 與 Study4.TW 之外,也加入了 SQL PASS 台灣,

image

去年社群攤位的位置是位在比較少人會經過的地方,而今年就不一樣了,合作社群攤位將會與 Microsoft MVP 攤位擺在一起,結合 MVP 與社群的力量,讓大家可以在這裡除了找社群之外也可以向在各領域擁有豐富經驗的台灣微軟 MVP 諮詢與交流。

 


2013年9月15日 星期日

當 ASP.NET MVC 的 DropDownList 遇到了 ViewData or ViewBag

這個部落格有關 DropDownList 的文章有 10 篇,而主要在講解 DropDownList HtmlHelper 有以下兩篇:

ASP.NET MVC 3 - DropDownList 的基本設定方式

ASP.NET MVC 3 - DropDownListFor 的設定方式

另外進階一點的有:

ASP.NET MVC 3 - 基本三層連動式下拉選單應用

不過還是時常會遇到有人在問 ASP.NET MVC DropDownList 怎麼設定以及卡關的問題,而這些問題中就屬有關 ViewData or ViewBag 的最多,甚至於有很多遇到問題的人會視為 Bug 或是列為絕對不能用的作法。其實這都是沒有詳細去追查原因的擅自定論,如果花點時間去追查一下 ASP.NET MVC 的原始碼就會知道原因,而且也會知道怎麼去正確的設定 DropDownList。

 


提醒

千萬不要使用 Google Talk (Hangouts) 或 Facebook 及時通訊與我聯繫、提問,因為會掉訊息甚至我是過了好幾天之後才發現到你曾經傳給我訊息過,請多多使用「詢問與建議」(在左邊,就在左邊),另外比較深入的問題討論,或是有牽涉到你實作程式碼的內容,不適合在留言板裡留言討論,請務必使用「詢問與建議」功能(可以夾帶檔案),謝謝。