我在ASP.net中编写了一个应用程序,旨在让用户将记录添加到数据库中.页面设置为当用户添加记录时,新添加的记录的ID号在会话中设置,页面Response.Redirects到"感谢您提交"页面,然后重定向回原始页面以允许进一步编辑.用户还可以使用此屏幕上的"返回"按钮返回到原始记录添加页面,这使他们可以对数据进行编辑.
但是,我发现在会话中存储ID并不是一个非常好的解决方案,因为用户可能会尝试在不同的选项卡或窗口中创建两个文档.我还尝试在文字控件中设置ID,但这会导致以下问题:当用户使用"返回"按钮时,文字控件未设置为ID,并且添加了新记录而不是正在编辑的记录.
对此有什么解决方案吗?
我建议将您的ID存储在QueryString中.添加记录后,重定向到"thankyou"页面,然后我猜测该页面包含一个指向编辑表单的链接,您将使用查询字符串中的ID生成该表单.当遵循该链接时,编辑页面应该将ID从查询字符串中拉出,以便加载要编辑的正确记录.
您的添加和编辑表单甚至可以是同一页面,当查询字符串中提供ID时,您的表单知道编辑该记录,否则您的表单会添加新记录.