Asp.net mvc ASP MVC-向数据库添加对象时确认页面

Asp.net mvc ASP MVC-向数据库添加对象时确认页面,asp.net-mvc,crud,Asp.net Mvc,Crud,我正在用ASP MVC制作一个简单的CRUD应用程序,我希望在创建新对象并将其插入数据库时有一个确认页面 问题是我在动作之间传递对象时遇到问题。我尝试在创建后将其保存在会话中,然后在用户确认后检索它,但是当我尝试将其插入到使用Entity Framework的数据库中时,我得到了一个InvalidOperationException 我甚至不确定我的方法是否正确。有什么想法吗?如果模式允许,我喜欢做的是在记录上有一个活动标志和时间戳字段。在第一页上插入而不设置该标志。确认页面仅设置活动标志。另一

我正在用ASP MVC制作一个简单的CRUD应用程序,我希望在创建新对象并将其插入数据库时有一个确认页面

问题是我在动作之间传递对象时遇到问题。我尝试在创建后将其保存在会话中,然后在用户确认后检索它,但是当我尝试将其插入到使用Entity Framework的数据库中时,我得到了一个InvalidOperationException


我甚至不确定我的方法是否正确。有什么想法吗?

如果模式允许,我喜欢做的是在记录上有一个活动标志和时间戳字段。在第一页上插入而不设置该标志。确认页面仅设置活动标志。另一个进程可以清除在其时间戳的特定范围内未确认的死记录。对象或实体从不占用会话内存


为清晰起见进行编辑:因此,您只需将所创建实体的id传递到确认页面

如果模式允许,我想做的是在记录上有一个活动标志和时间戳字段。在第一页上插入而不设置该标志。确认页面仅设置活动标志。另一个进程可以清除在其时间戳的特定范围内未确认的死记录。对象或实体从不占用会话内存


为清晰化编辑:结果,您只将创建实体的ID传递给确认页

是提姆的最好的基本答案,但是如果您不想包含额外的逻辑,您也可以考虑在确认页上使用隐藏字段,以便确认实际上重新提交表单数据,这意味着更少的DB行程,意味着您数据库中没有旧的未经确认的条目可以过滤掉,但这意味着与客户端之间有更多的数据


从UI的角度来看,另一个可能更可取的选择是让Tim给出答案,但如果启用了JavaScript,则让submit按钮弹出确认屏幕,点击OK会同时提交表单和确认。

< P>提姆是最好的基本答案,但是如果你不想包括额外的逻辑,你也可以考虑在确认页面上使用隐藏字段,这样确认实际上重新提交表单数据,这意味着更少的DB行程,意味着你没有旧的未确认。位于数据库中的条目将被过滤掉,但这意味着向客户端发送和从客户端发送更多数据

从UI的角度来看,另一种可能更可取的选择是让Tim给出答案,但如果启用了JavaScript,则让submit按钮弹出确认屏幕,单击OK将一次性提交表单和确认