提交A网页的数据完成之后下一步到B网页添加写数据,如果B网页的数据没有提交成功,或用户添加完A网页数据成功后关闭了A网页而没有继续添加B网页的数据问题:A网页的数据要与B网页的数据同时存在,如果A网页的数据添加成功而没有添加B网页的数据则要求A网页的数据也从数据库中删除,这样的功能如何实现?
 例如:
一个合同备案的网页,合同分招标合同和非招标合同,如果是招标合同在添写合同备案信息之前要求添加中标通知书内容,
A网页为中标通知书的添写,添加成功之后 “下一步”添写合同备案信息,如备案信息添加完成,则A网页中标通知书信息有意义,
如用户添写合同备案信息没有成功或直接关闭了B网页,则添写的中标通知书也就没有意义了,也就是让A网页的数据与B网页的数据同生共死,
这样的功能如何实现?

解决方案 »

  1.   

    在A网页中不执行插入,而只进行数据验证,
    验证成功后,将数据保存在SESSION中,然后进入B网页添加信息
    最后一起提交,更新数据库信息
      

  2.   

    可以用临时表处理,也可以在页面上用缓存,session之类的临时保存
      

  3.   

    在A网页不进行提交到数据库的, 而是保存起来,传到B网页,和B网页的数据一起保存,用个事务
      

  4.   

    A页面数据先缓存和B数据一起提交
    或设置标识,B页面数据添加程序修改标识
      

  5.   

    可以把A网页的数据先用标志位标识一下,默认是无效的,当提交B网页数据的时候同时更新标识位为有效。A数据和B数据应该有关连ID吧。
      

  6.   

    把a页面的数据传到b页面,用个事务一起保存应该是对的,如把A数据先插入做个标识位,如用户不添加B数据,那么A添加的数据就是无用的垃圾数据
      

  7.   

    用Session或其他手段保存中间值,一直到向导的最后一步才存数据库,这才是正确的方法.已经写进数据库再退回来是极不经济也不合理也麻烦得要死的方法. 当然,你也可以在数据库中设置一个标识字段标识当前记录是否已经完成,但也麻烦.有一种Server.Transfer方法可以把A页面的数据转到B页面继续处理,应该可以很好的解决你的问题.
      

  8.   

    好办法,然后使用PreviousPage.FindControl("id")获取a页面的值