我覺得我的問題已經接近這個問題了,但是我想要一個更一般的討論,討論這樣的代碼應該放在哪裏。 Asp.Net MVC SelectList Refactoring Question?selectlist邏輯應該放在ASP.NET MVC,視圖,模型還是控制器中?
我目前直接在我的實體模型上創建我的選擇列表,就像這樣。
public SelectList taskDeadlineTime
{
get { return new SelectList(TimeDictionary, "Value", "Key", this.getDeadlineTime()); }
}
這感覺有點不對,就好像我在模型中執行視圖工作一樣。
但是,這意味着我可以獲得財產,我的選擇列表就在那裏。現在,我應該把這個邏輯放在我的控制器(更多的代碼寫入)或視圖(感覺錯誤,混亂),或者只是以不同的方式做。
我現在看這個的原因是因爲我正在比較同一對象實體的兩個副本,並且將選擇列表作爲getter的一部分直接表示它不起作用。我知道我可以修改這個比較來處理這個問題,但是在模型中做一些可視化的事情感覺不對(除非選擇列表的準備工作在模型中是正確的)
這在很多方面都有意義,因爲您也可以將選定值設置爲視圖中的第四個參數。但是,如果你只是提供選擇列表到視圖,擺脫未使用的屬性的開銷,它會不會更快? – bnu 2017-10-18 09:41:45