c# - asp net mvc 验证和 ViewModel

标签 c# asp.net-mvc-2

我有一个中型项目的四层解决方案:

  1. 模型(EF POCO 实体)
  2. 数据(EF 对象上下文)
  3. 服务
  4. asp net MVC问题

    a)我应该有验证属性——模型或 MVC 项目中的 Dataanotation 吗?

    b)如果在 MVC 中,我应该在哪里设置 ViewModel-s,那么在 Controller 中,我应该在哪里用数据填充 ViewModel?否则如果在其他项目上应该为 VewModel 创建存储库?

    c) ViewModel 是否应该进行验证>?

最佳答案

A, C) 如果您有不同于 DTO 的 View 模型,那么您可能更愿意在两种类型中使用 DataAnnotations。这样,您可以在尝试坚持之前进行验证,并在坚持时再次验证,以防您的 DTO 在 MVC 应用程序范围之外使用。

B) 我通常将我的 View 模型放入我的 MVC 应用程序的模型文件夹中,并将我的 DTO 放入一个与我的 MVC 应用程序分开的数据项目中。我用 AutoMapper在我的 View 模型和我的 DTO 之间复制很多值。

关于c# - asp net mvc 验证和 ViewModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4902350/

相关文章:

C# 从 using block 中返回

c# - Microsoft Help Viewer 可以作为一个独立的应用程序使用吗?

asp.net - MVC .Net 前端和后端

c# - XSLT 与 ASP.NET MVC 框架

c# - Entity Framework 和 Web API ObjectDisposedException

c# - 谁能提供 SQLite "SetTimeout"的 C# 示例?

c# - String.ToLowerInvariant() 如何确定它必须转换成什么字符串/字符?

asp.net-mvc-2 - 处理多个提交按钮

asp.net-mvc-2 - TempData ["message"] 不可靠——我做错了什么?

asp.net-mvc-2 - 处理 'A potentially dangerous Request.Form value was detected from the client'