昨天將新增、編輯以及讀取寫好了,今天就來將刪除做好,以及將欄位名稱 DisplayAttribute 都加好。
寫到現在,對 Repository 的撰寫應該是越來越熟了,很快就可以將 Code 寫出來:
點選到 Delete 頁面,傳入 Event 的 ID,並用 ID 先從 Repository 撈出 Event 資料,並回傳到 View,但因為 View 目前使用的型別為 EventsDeleteViewModel
,所以需要使用 AutoMapper Mapping 與轉型:
先使用 AutoMapper 將 EventsDeleteViewModel
Mapping 到 Events
,並傳到 Repository 的 DeleteEventAsync()
:
至今建立了許多 ViewModel,總不可能一個一個將 DisplayAttribute 加到每一個 ViewModel 中吧,於是拜請了 Google 大神,發現 Stack Overflow 找到這篇文,方法為建立一個 BaseViewModel,並將欄位都放進去且加上 DisplayAttribute,然後原本做好的 ViewModel 都去繼承它:
BaseViewModel:
EventsDeleteViewModel:
因為 EventsBaseViewModel
基本上就是所有的 Events
Model Property,所以 EventsDeleteViewModel
都需要註解,否則 EventsDeleteViewModel
會覆蓋掉 EventsBaseViewModel
的 Code(連同 Attribute),修改後來看看 Delete 頁面:
欄位名稱一次解決!
今天總算將 CRUD 的功能都寫好了!喔不,其實還有一個圖片上傳沒有做到。不過這就是明天的內容了!
自己也在今天終於知道要如何設定一次 Attribute 就讓所有 ViewModel 都套用到,這在以前是不知道的!學到新的東西就好開心~?
那麼就明天見囉
MVC 4 Data Annotations "Display" Attribute