ASP.NET MVC模型与ViewData对于选择列表

Fen*_*ton 6 asp.net-mvc viewdata model selectlist multi-select

我有一个ASP.NET MVC应用程序,有很多下拉列表和多选列表.基本上,很多选项列表.

我的问题是; 将这些列表作为模型的一部分或ViewData传递给视图会更好吗?

我目前正在将它们作为ViewData传递,因为我在模型上并不真正需要它们,并且它们似乎可能在模型上传递时很笨重(我得到所选项目或项目,这实际上是我所需要的).在缺点方面,ViewData需要在View上进行转换,这不如强类型模型好.

这里有最好的做法吗?即使是对这些方面的利弊建议也会受到赞赏.

zih*_*tki 6

我建议您使用ViewModels传递该数据.使用带有"魔术字符串"的ViewData是错误的,我更喜欢使用intellisense而不是试图记住"魔术字符串".而且您不需要在控制器中创建SelectLists.只需使用一些IEnumerable并在视图中使用MvcContrib的ToSelectList扩展方法.