我正在为一个组织开发一个非常大且复杂的基于Webforms的ASP.NET 2.0业务产品套件的MVC原型。内置到现有应用程序中的功能之一是,如果用户在Webforms UI上做了任何更改,它只会访问数据库来存储结果集。这个web应用程序有一个完整的内置层来跟踪这个“如果被用户更改”的事情。
我想知道在ASP.NET MVC中是否有一个规定/功能来确定用户在视图上更改了哪些属性?这个想法很简单,用户看到一个视图,可能做了一些更改,然后点击“保存”。接受post的控制器需要确定用户是否更改了模型的状态,并仅在状态更改时才保存模型。
有什么想法吗?
PS:我将其标记为mvc-2和mvc-3,因为它是一个原型。我目前正在学习/开发MVC2,但如果MVC3更适合我们的需要,我会很快转到MVC3的!
发布于 2011-05-09 16:57:10
我想知道在ASP.NET MVC中是否有一个配置/功能来确定用户在视图上更改了什么属性?
不,在MVC中无法做到这一点。WebForms通过在视图状态中包含字段的原始值来做到这一点,但是在其核心中拥抱HTTP的无状态并不能做到这一点。
如果你的(视图)模型类型足够规则,你也许能够构造脚手架来做到这一点(类型越多,这样做的好处就越多)。我已经在这些行上原型化了一些东西,其中每个视图模型类型都确定在对数据库进行任何更新之前更新模型类型时是否发生了更改(从而绕过了更新)。
https://stackoverflow.com/questions/5934612
复制相似问题