Asp.net mvc ASP.NET MVC,查找模型是否有更改

Asp.net mvc ASP.NET MVC,查找模型是否有更改,asp.net-mvc,Asp.net Mvc,如何在ASP.NET MVC中使用modelstate查看用户是否进行了更改 例如: 表单被加载,用户可以对表单进行更改。 进行更改后,用户单击应用或取消按钮 单击按钮将控制权带回我的控制器,在那里我进行验证,然后提交到数据库 如果用户单击“应用”按钮而不进行更改,该怎么办?我希望控制器能够检测到用户没有更改任何内容,并发送适当的消息 有没有一种方法可以使用modelstate来检测这种情况?还是有其他方法可以做到这一点 感谢我们使用它获取域实体并将它们映射到视图模型。大概是这样的: var v

如何在ASP.NET MVC中使用modelstate查看用户是否进行了更改

例如:

表单被加载,用户可以对表单进行更改。 进行更改后,用户单击应用或取消按钮

单击按钮将控制权带回我的控制器,在那里我进行验证,然后提交到数据库

如果用户单击“应用”按钮而不进行更改,该怎么办?我希望控制器能够检测到用户没有更改任何内容,并发送适当的消息

有没有一种方法可以使用modelstate来检测这种情况?还是有其他方法可以做到这一点

感谢

我们使用它获取域实体并将它们映射到视图模型。大概是这样的:

var viewModel = Mapper.Map<DomainEntityClass, ViewModelClass>(entity);
var viewModel=Mapper.Map(实体);
然后,在视图/页面的背面,我们可以通过再次加载实体并将其与映射视图模型进行比较来测试它们是否不同:

var entity = Repository.Get<DomainEntityClass>(id);
var mappedEntity = Mapper.Map<DomainEntityClass, ViewModelClass>(entity);

// code to compare mappedEntity to incoming viewmodel
//
// or build an equality comparer to test them
var entity=Repository.Get(id);
var mappedenty=Mapper.Map(实体);
//用于将MapPedenty与传入viewmodel进行比较的代码
//
//或者构建一个相等比较器来测试它们
其思想是,如果映射配置没有更改,那么Mapper.Map调用(给定相同的实体)应该在没有更改的情况下返回匹配的视图模型对象

要获得构建相等比较器的帮助,请选中此处-

我们用来获取域实体并将它们映射到视图模型。大概是这样的:

var viewModel = Mapper.Map<DomainEntityClass, ViewModelClass>(entity);
var viewModel=Mapper.Map(实体);
然后,在视图/页面的背面,我们可以通过再次加载实体并将其与映射视图模型进行比较来测试它们是否不同:

var entity = Repository.Get<DomainEntityClass>(id);
var mappedEntity = Mapper.Map<DomainEntityClass, ViewModelClass>(entity);

// code to compare mappedEntity to incoming viewmodel
//
// or build an equality comparer to test them
var entity=Repository.Get(id);
var mappedenty=Mapper.Map(实体);
//用于将MapPedenty与传入viewmodel进行比较的代码
//
//或者构建一个相等比较器来测试它们
其思想是,如果映射配置没有更改,那么Mapper.Map调用(给定相同的实体)应该在没有更改的情况下返回匹配的视图模型对象


有关构建相等比较器的帮助,请检查此处-

您的数据层(EF?)可能可以为您执行此操作。重复,请参阅:您的数据层(EF?)可能可以为您执行此操作。重复,请参阅我的:+1。我有一个类似的半书面答复时,你张贴了这个。+1从我。当你发布这篇文章时,我收到了类似的半封回复。