我觉得我的问题已经接近这个问题了,但是我想要一个更一般的讨论,讨论这样的代码应该放在哪里。 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