【问题标题】:ASP.NET MVC - How can I pass FormCollection data in a post to another Action?ASP.NET MVC - 如何将帖子中的 FormCollection 数据传递给另一个操作?
【发布时间】:2009-07-02 14:50:51
【问题描述】:

我有一个带有表单的页面“结果”,当单击“提交”时,表单被提交给另一个操作。到目前为止,一切都很好......

但是,如果用户已登录,这将正常工作。如果没有,他将被重定向到“登录”页面,我的 FormCollection 会丢失其数据。

有没有办法在不使用 TempData 的情况下保留这些数据?

谢谢!!

【问题讨论】:

    标签: asp.net-mvc formcollection


    【解决方案1】:

    我认为这是不可能的。系统在重定向到登录页面期间唯一记住的是“返回 url”。没有保存帖子数据(这可能是兆字节的数据......)

    您可以使用 Session 对象作为替代,或确保用户在您发布之前已登录。

    或者,如果它只是一个搜索结果,请尝试不使用 POST,并使用 GET(这也有其他优点)

    【讨论】:

    • 谢谢克里斯!有没有办法将此 FormCollection 保存到 cookie 中?
    • 不容易。仅当您的 POST 操作不需要用户登录时,才将 FormCollection 保存到 cookie,然后重定向到另一个需要登录的操作。但我不建议这样做...
    【解决方案2】:

    我宁愿禁止未经授权的用户访问“结果”页面,或者至少向他显示“请先登录”消息而不是表单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-14
      • 1970-01-01
      • 1970-01-01
      • 2011-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多