问题标签 [viewmodel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc - 使用复杂的 viewModel 对控制器操作进行单元测试
我刚刚开始使用 ASP.NET MVC,而且我也是单元测试的新手 :) 到目前为止,一切都很好。
我有一个使用视图模型设置索引视图的控制器操作。测试控制器动作很简单,因为我可以在控制器的构造函数中传递一个虚假的服务类,但是我的视图模型非常复杂,并且在实例化时会获取它自己的服务类。
我希望代码应该使这一点更清楚......
控制器动作:
视图模型类:
编辑:
测试控制器操作时,如何让视图模型使用假服务类?
我应该放弃第一个构造函数并始终从控制器传入服务还是有其他方法?
干杯,
尼克
asp.net-mvc - 验证 ASP.NET MVC 中的 ViewModel
大多数关于如何在 ASP.NET MVC 中实现验证的技巧似乎都围绕着模型(在模型和控制器之间构建服务层或使用验证属性装饰模型的属性)。
在我的应用程序中,我使用 ViewModels 进行控制器和视图之间的所有通信。
我的登录页面有一个名为“LoginViewModel”的 ViewModel,其属性名为“EmailAddress”。
当用户输入他们的电子邮件地址并单击提交时,这个 ViewModel 被填充并发送到控制器,在那里验证电子邮件地址。
它必须是有效的电子邮件地址,并且用户必须来自在系统中注册的域。
对此添加验证的便捷方法是什么?我应该将验证放在 ViewModel 本身吗?还是应该留在控制器中?
jquery - jQuery 可以将 ViewModel POST 到 ASP.NET MVC 中的控制器吗?
我创建了我的 Html 文本框,以便在发回服务器时将它们绑定到自定义视图模型。
如果它是传统的 POST,这非常有用。然后我可以在控制器端接收它,如下所示:
我想知道——是否可以通过 jQuery 进行 POST 并且仍然获得相同的行为?
asp.net-mvc - AutoMapper 将域模型展平,但它会做相反的事情吗?如果不是,那是什么?
我一直在阅读 AutoMapper,因为我在这里回答了我之前的一个问题。
它说 AutoMapper 将复杂的域模型展平,但我需要一些相反的东西。我需要将我的视图模型(扁平域模型)连接到复杂的域模型,以便我可以快速将视图模型转换为域模型。
有没有类似于 AutoMapper 的东西,它采用视图模型并将其变成复杂的域模型?
asp.net-mvc - 验证不适用于 ASP.NET MVC 中的普通对象
当我将“模型”对象(由 LinqToSQL 生成)发布到控制器时,我可以查询“ModelState.IsValid”,如果任何属性上有验证属性并且值未验证,它将被设置为“假”。
但是,如果我发布我自己的类的自定义对象,ModelState.IsValid 似乎总是返回“true”,即使该类的属性具有验证属性并且被赋予了不正确的值。
为什么这只适用于 DataContext 模型对象?这些对象是什么使它们与 ModelState.IsValid 一起工作,而普通类却不能?
我怎样才能使它与普通课程一起工作?
控制器代码:
视图模型代码: