ASP MVC - 将对象添加到数据库时确认页面

时间:2009-06-03 17:03:19

标签: asp.net-mvc crud

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

问题是我在操作之间传递对象时遇到问题。我试图在创建会话后将其保存在会话中,然后在用户确认时检索它,但是当我尝试将其插入数据库时​​我得到了InvalidOperationException(我正在使用实体框架)

我甚至不确定我是否正确地接近这一点。有什么想法吗?

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:2)

Tim是最好的基本答案,但如果您不想包含额外的逻辑,您还可以考虑在确认页面上使用隐藏字段,以便确认实际重新提交表单数据(这意味着更少的数据库跳闸,意味着您没有旧的未经证实的条目位于数据库中以过滤掉,但意味着有更多数据进出客户端。)

从UI的角度来看,另一个可能是首选的替代方案是获得Tim的答案但是如果启用了JavaScript,则使用提交按钮弹出确认屏幕,单击“确定”将一次性提交表单和确认。