我有以下问题。在ASP MVC的视图中,我需要存储视图接收的原始对象,并将其与修改后的版本进行比较(这是修改视图中原始对象后的结果)。
我遇到的问题是,由于原始对象未绑定到视图(因为没有理由而且我必须为此创建许多隐藏字段),否则它将丢失,除非我将其存储在会话中。但是,这可能会导致另一个问题,因为如果用户通过导航菜单离开页面而不是保存他的更改,则此对象将保留在会话中,直到它过期,我认为这不好。
答案 0 :(得分:4)
在我看来,你试图以“窗体形式”或“网络形式”的方式推理。
因此,您需要检测对对象所做的更改。实现这一目标的模式相当简单:
如您所见,无需在会话中存储任何内容。除了没用之外,这将是不好的做法。
答案 1 :(得分:0)
为什么不将原始对象存储在数据库中,并在用户发布更新版本时从那里检索它?
答案 2 :(得分:0)
为什么不使用ViewBag?只要你处于特定的观点,它就会活着。