asp.net-mvc – 什么时候使用ViewData而不是ViewModels?

假设您想开发您的控制器,以便您使用viewmodel来包含您呈现的视图的数据,所有数据是否应包含在viewmodel中?绕过viewmodel会有什么条件?

我问的原因是我有一些代码使用ViewData,有些则使用viewmodel.我希望在使用ViewData的时候分发一组指导方针,当它只是采取快捷方式时.我想要处理这个问题的其他开发人员的意见,以便我知道我的指导方针不仅仅是我有偏见.

解决方法

只是为了进一步Fabian的评论;您可以明确地确保视图数据从未被使用,遵循 this article中概述的步骤.真正没有任何借口不使用模型的一切.

如果您别无选择,只能使用ViewData(就现有项目而言);至少使用字符串常量来解析名称以避免使用“魔术字符串”.一些沿着以下行:ViewData [ViewDataKeys.MyKey] = myvalue;事实上,我使用这些只是需要“基于字符串”(会话密钥,缓存键,VaryByCustom输出缓存键等)的任何东西.

相关文章

项目要求通过网站上传大文件,比如视频文件,通过摸索实现了文件分片来上传,然后后台进行合并。 使用了...
安装新版本的Nginx(vim /etc/yum.repos.d/nginx.repo) [nginx-stable] name=nginx stable repo baseu...
什么是 SignalR ASP.NET Core ASP.NET Core SignalR 是一种开放源代码库,可简化将实时 web 功...
在Windows下使用Docker,我们选择Docker Desktop这个软件,非常方便。 ## Docker Desktop介绍及安装 Do...
项目开始设计的是运行在windows下,所以一开始采用的是windows服务模式来获取多媒体文件信息,后来要求...
银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化、云计算、大数据、工业互联网时代对主...