2009-01-27 46 views
2

我目前正在基于ASP.NET Web窗体的相当复杂的数据输入表单上工作。表单完成后,我们希望为用户提供一个在实际提交表单之前检查其输入的机会(以及如果需要更改其数据,则需要修改其数据)。在ASP.NET表单中提供“审查”阶段的干净方式

由于字段数量众多,我想使用FormView控件,因为它具有自动数据绑定功能,消除了许多繁琐的代码,但似乎并没有提供此功能的简单方法。

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

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

谢谢!

回答

3

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

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

任何人有任何其他想法?

+0

你是如何做你的只读视图?它是以只读模式呈现的第二套完整的html吗? – tbone 2009-06-27 00:10:33