我正在尝试找出一种逻辑而快速的方法来在我正在做的小网站中实现“PRG”设计风格,我发现了一个我无法想到解决的好方法的问题
我有一张表格。它有2个字段(名字和姓氏)。当用户提交表单时,我会在将其保存到数据库之前检查以确保它们中包含数据。如果他们不这样做,那么我会向他们展示一个不错的小错误信息,并在表格中留下他们输入的内容。
然而,为了正确实现PRG,据我所知,我必须在回发时验证,确定有错误,然后将用户重定向到同一页面,但是通过get,而不是post,这将消除任何类型的可怕消息“如果用户重新加载页面,您将要将表单内容重新提交给服务器,这会产生意想不到的后果......”等等。
如何将用户重定向回同一页面并仍将其已输入的值保存在表单字段中?
我的意思是,我可以传递Querystring中的所有值,但对于复杂的表单,这将变得非常困难和混乱。我可以将值存储在Session中,但这仍然会很混乱,并且是在繁忙的站点上使网络服务器瘫痪的好方法。
我的其他网络程序员你做了什么?
答案 0 :(得分:1)
正如您所注意到的,通过重定向,除非您经历一些QueryString旋转,否则您将丢失他们输入的数据。你真的通过这样做来击败asp.net的一个很好的功能 - 表单值都保留给你,所以如果页面需要在有错误的帖子后重新显示,大部分工作都是为你完成的。为什么要使用PRG设计?您期望获得标准的asp.net表单处理不会给您带来什么好处?