其實我很少在ViewPage去直接下Html.DropDownList(…….)的指令去產生下拉選單,因為我覺得我還需要另外去處理 IEnumerable<SelectListItem>,如此我才會有下拉選單選項,所以我通常會在Controller/Action中就處理好要產生的下拉選單Html,放到ViewData中,再由前端ViewPage於頁面中直接做呈現就可以。
會這麼做的原因是,不希望有太多的程式判斷出現在ViewPage之中,因為ViewPage的程式常常會是ASP.NET MVC開發時的一個大漏洞,ASP.NET MVC 於編譯的時侯,會預設不去編譯 ViewPage 的,如果不知道去更改設定的人,系統開發時,如果喜歡在ViewPage中加入一堆的程式,而編譯時不會出現錯誤訊息,但是一旦到了開啟頁面做偵錯時才發現到頁面上的那一段程式出了錯誤,所以為了減少這樣的問題出現,除了更改編譯設定外,就是減少於ViewPage寫程式的機會。
有關ASP.NET MVC更改編譯設定,讓系統重新建置時也對ViewPage做編譯,請看以下的文章介紹:
Will保哥:ASP.NET MVC 開發心得分享 (11):對 Views 進行編譯檢查
黃偉榮的學習筆記:解決TFS Build Asp.Net Mvc開啟MvcBuildViews後無法載入組件問題