【问题标题】:asp.net Post/Request/Get question about validationasp.net 发布/请求/获取有关验证的问题
【发布时间】:2010-10-18 21:45:02
【问题描述】:

我正在尝试找出一种合乎逻辑且快速的方法来在我正在做的一个小网站中实施“PRG”设计风格,但我发现了一个我想不出好的解决方法的问题.

我有一个表格。它有 2 个字段(名字和姓氏)。当用户提交表单时,我会先检查以确保他们有数据,然后再将其保存到数据库中。如果他们不这样做,那么我会向他们显示一个不错的小错误消息,并将他们输入的内容留在表单中。

但是,据我了解,为了正确实施 PRG,我必须在回发时进行验证,确定是否存在错误,然后将用户重定向到同一页面,但通过获取而不是发布,这将消除如果用户重新加载页面,任何可怕的消息“您将要向服务器重新提交表单的内容,这可能会产生意想不到的后果......”等。

如何将用户重定向回同一页面,同时仍将其已输入的值保存在表单字段中?

我的意思是,我可以传递查询字符串中的所有值,但对于复杂的表单,这将变得非常困难和混乱。我可以将值存储在 Session 中,但这仍然会很混乱,并且是让网络服务器在繁忙的站点上屈服的好方法。

,我的网络程序员伙伴们,是做什么的?

【问题讨论】:

    标签: asp.net postback post-redirect-get


    【解决方案1】:

    正如您所注意到的,通过重定向,您将丢失他们输入的数据,除非您经过一些 QueryString 回旋。通过这样做,您确实击败了 asp.net 的一个不错的功能 - 表单值都为您保留,因此如果在发布错误后需要重新显示页面,大部分工作都会为您完成。为什么要使用 PRG 设计?您希望获得标准 asp.net 表单处理没有给您带来的什么好处?

    【讨论】:

    • 我真的只是在一个小小的项目上玩弄 PRG,看看我们有什么样的权衡。到目前为止,一切都很好,但是丢失他们输入的数据的问题是一个相当大的打击。
    • 是的 - 你不妨回到经典的 ASP 页面 :)
    • 我想我只是在嘴里吐了一点。
    猜你喜欢
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多