私の質問はこれに近いと思いますが、このようなコードをどこに置くべきかについて、より一般的な議論が必要です。Asp.Net MVC SelectList リファクタリングの質問?
私は現在、自分のエンティティ モデルで選択リストを直接作成しています。
public SelectList taskDeadlineTime
{
get { return new SelectList(TimeDictionary, "Value", "Key", this.getDeadlineTime()); }
}
モデル内でビュー作業を行っているかのように、これは少し間違っているように感じます。
ただし、プロパティを取得でき、選択リストがそこにあることを意味します。
さて、このロジックをコントローラー (記述するコードが増える) またはビュー (間違っていると感じる) または別の方法で実行する必要があります。
私が今これを見ている理由は、同じオブジェクト エンティティの 2 つのコピーを比較する作業を行っており、選択リストをゲッターの一部として直接使用すると、それが機能しないことを意味するためです。これを処理するためにこの比較を変更できることはわかっていますが、モデルで視覚的に何かを行うのは間違っているように感じます (選択リストの準備がモデルに含まれているのが正しい場合を除きます)。