在阅读了这个问题 ASP.NET MVC: Nesting ViewModels within each other, antipattern or no?
和德里克贝利的评论
我认为“考虑您的视图模型将是什么样的 xml 或 json”位可能是最重要的一点,在这里。我经常使用这种视角来帮助我理解视图模型应该是什么样子,并帮助我理解什么是“viewmodel”数据与“视图的 HTML 渲染中的数据”。有助于保持物品清洁并很好地分开它们 – Derick Bailey 2011-04-11 15:45:37
这让我想知道如何为带有数据绑定选择项的 ViewModel 创建一个视图。我真的很挣扎,因为我无法想象SelectList
属于哪里。如果我从 JSON 或 XML 的角度考虑,那么它SelectList
是仅查看的一部分。我想要的只是一个下拉列表,其中预先填充了一个值列表,供用户选择Location
让它在 ViewModel 中似乎是错误的,但是当我考虑将它移动到视图时,我不知道在哪里放置要提取的逻辑填充选择列表的数据库
public class SearchViewModel
{
public int? page { get; set; }
public int? size { get; set; }
//Land Related search criteria
[IgnoreDataMember]
public SelectList LocationSelection{ get; set; }
更新
这是一个很好的问题和答案,它与 C# mvc 3 using selectlist with selected value in view密切相关
我已经测试了这个实现,它做了我想做的事情。我不会急于选择答案,因为我还没有完全审查这一点。