我有一个 ASP.NET MVC 应用程序,其中有很多下拉列表和多选列表。本质上,有很多选项列表。
我的问题是;将这些列表作为模型的一部分还是作为 ViewData 传递给 View 更好?
我目前将它们作为 ViewData 传递,因为我在模型上并不真正需要它们,而且它们似乎在模型上传递时可能很笨重(我得到了选定的一个或多个项目,这正是我所需要的)。不利的一面是,ViewData 需要在 View 上进行转换,这不如强类型模型好。
这里有最佳实践吗?即使是对其中任何一个的利弊建议也将不胜感激。
最佳答案
我建议您使用 ViewModels 来传递该数据。将 ViewData 与“魔法字符串”一起使用很容易出错,我更喜欢使用智能感知而不是试图记住“魔法字符串”。而且您不需要在 Controller 中创建 SelectLists。只需使用一些 IEnumerable 并使用 ToSelectList View 中来自 MvcContrib 的扩展方法。
关于asp.net-mvc - ASP.NET MVC 模型与选择列表的 ViewData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2342680/