2

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

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

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

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

谢谢!

4

1 回答 1

3

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

您应该仍然可以为每个可编辑字段使用 ObjectDataSource,面板或多视图是否可见不应该影响绑定。当您从一个面板转到下一个面板时,您可以更新只读步骤(如我之前所说),同时保持可编辑控件绑定到 ObjectDataSource。当您返回任何需要修改的步骤时,您仍然受到约束,因此当您进行任何更改并单击提交或任何按钮时,它应该使用 ObjectDataSource。

还有其他人有其他想法吗?

于 2009-01-27T20:38:57.013 回答