我正在尝试开始使用 ViewModels - 但我遇到了这个 POST 未验证的问题 - 模型中的值显示在代码下方的 Watch 部分中:
ModelStats.IsValid = false
我的 ItemViewModel 是:
public class ItemViewModel
{
public int ItemId { get; set; }
[Display(Name = "Item")]
public string ItemName { get; set; }
[Display(Name = "Description")]
public string Description { get; set; }
[Display(Name = "Price")]
public double UnitPrice { get; set; }
[Range(0.00, 100, ErrorMessage = "VAT must be a % between 0 and 100")]
public decimal VAT { get; set; }
[Required]
public string UserName { get; set; }
}
我确信它会很简单 - 但我已经看了这么久,我无法弄清楚我做错了什么。任何人都可以请教吗?
谢谢,马克
最佳答案
就验证失败而言。
如果您不打算在表单中提供 UserName
,请从 ItemViewModel
中删除 [Required]
属性
为了使用AutoMapper .您需要创建一个 map ,例如
Mapper.CreateMap<Item, ItemViewModel>();
然后映射
var itemModel = Mapper.Map<Item, ItemViewModel>(model);
注意:CreateMap
只需创建一次,您应该在启动时注册它。请阅读 How do I use AutoMapper? .
关于c# - 在 ASP.Net MVC 中使用 AutoMapper 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16477498/