在ASP.NET表单中提供“审核”阶段的简洁方法

时间:2009-01-27 20:15:27

标签: asp.net webforms input

我目前正在开发一个基于ASP.NET Web Forms的相当复杂的数据输入表单。表单完成后,我们希望用户有机会在实际提交表单之前查看他们的输入(如果需要,还可以返回更改他们的数据)。

由于字段数量很多,我想使用FormView控件,因为它具有自动数据绑定功能,删除了大量繁琐的代码,但似乎没有一种简单的方法可以提供这种功能。

目前,我当前的方法使用ObjectDataSource绑定所有表单字段。我在数据源上创建了两个“模式”操作;一种模式暂时将对象保存到用户会话(允许稍后再次检索只读/编辑模式 - 这有利于审查/修改功能),而第二种模式实际上是数据库插入。

虽然此时看起来相当稳健,但对我来说仍然感觉很脏。我知道我可以使用向导/多视图类型的方法,但是你会失去自动数据绑定的细节(我相信?)。我确定这是一个相当普遍的问题,那么这通常是如何在Web窗体环境中完成的?

谢谢!

1 个答案:

答案 0 :(得分:3)

我目前正在处理的项目使用自定义向导设置(而不是asp.net 2.0向导)。它包含您的向导可能需要的几个步骤,当您从一个步骤转到下一个步骤时,代码将值保存到最后一步(只读审阅)。当用户进入最后一步时,他们可以返回需要更新的步骤。满意后,用户提交向导,数据将保存到数据库。它基本上是一系列能够切换其可见性的面板。

您应该仍然可以为每个可编辑字段使用ObjectDataSource,使面板或mutliview可见或不显示不应影响绑定。当您从一个面板转到下一个面板时,您可以更新只读步骤(就像我之前说过的那样),同时保持可编辑控件绑定到ObjectDataSource。当你回到需要修改的任何步骤时,你仍然受约束,所以当你做任何更改并单击提交或按钮时,它应该使用ObjectDataSource。

其他人有其他想法吗?