2012年12月31日 星期一

無所不在的 DropDownList 末日餘生 MVC 跨年修練計畫 第三彈

在第一彈卷末提到的巨大陰謀是什麼呢 現在要揭曉了!!

就是...

對你的客戶而言水跟加需求都是免費的

仔細瞧瞧目前的這個頁面 有沒有什麼東西很違和?

沒有下拉選單耶!!

這種事是無可能發生在現實生活中的

你的客戶愛下拉選單

客戶表示:這邊要下拉選單

客戶表示:那邊要下拉選單

客戶表示:這邊再多個下拉選單

客戶表示:那邊再多個下拉選單

客戶表示:更多的下拉選單

而我們也不得不喜歡下拉選單

因為總比讓客戶恣意的輸入文字方塊再任意的附加欄位驗證來得好



通常一個基本的下拉選單 意味著 DB 裡面有兩張 TABLE 並且有關係

真正 Insert 的時候 其實只是需要 key 值 像這樣

正打算很開心的改 DB 之前 但是別忘了目前是使用 Code First 來開發的 所以只要改 Model 就好了

心想果斷神技術完全風騷的時候 窩草 報錯了

當初自動生出來的 DbContext 有段註解 有提供解決方法

但是保哥表示:這是一種十分殘暴的方法 因為舊資料會跟你說吻別

請透過 package manager console 啟用資料庫轉移

由於不是這篇的重點 我只列出會用到的指令

http://www.dotblogs.com.tw/skychang/archive/2012/04/04/71276.aspx

啟用轉移:Enable-Migrations -ContextTypeName testMvcCodeFirst.Models.DBContext

轉移版本:Add-Migration 版本名稱

更新資料庫:Update-Database



搞定好 DB 之後 發現 VS 沒有自動幫我們生出 DropDownList 果然還是沒那麼神奇的事會發生

不過這也是好事 如果 VS 真那麼神 我們可能要丟了飯碗

改變如下

"編譯" 過後 執行一下 發現 驗證怎麼怪怪的 沒紅框 如果開始猛找 CODE 哪裡有錯有問題 就大錯特錯了 因為只是很單純的 沒有設 CSS 而已

加工一下 好看多了



但是還沒完呢 POST 還沒改

在這邊會有個 字串 轉型 成 Guilty 失敗 連帶驗證不通過的問題 這裡先用投機的法子先忽略 ._. (好孩子不要學 壞孩子也一樣)

但是...It Sucks, But it works!

加入 DropDownList 的頁面 就(暫時)完成囉 wwwwwwww





最後...新年快樂 2013

沒有留言:

張貼留言