【问题标题】:ASP.Net MVC2 Passing Parameters in URLASP.Net MVC2 在 URL 中传递参数
【发布时间】:2012-04-13 17:22:23
【问题描述】:

在使用原始 MVC 一段时间后,我开始熟悉 MVC 2,但我想知道是否可以从表单中传递值,例如用户名和密码,这些值不会作为 URL 的一部分发送什么时候进入下一页?

我有一个基本表单,它接受一些绑定到实体的值,然后我要做的下一件事是调用数据库的模型级别。之后我返回 RedirectToAction。

谁能给我建议,好吗?

【问题讨论】:

    标签: asp.net-mvc-2


    【解决方案1】:

    当您重定向时,您将丢失表单中存在的所有 POST 值。重定向意味着新的 GET 请求,而 GET 请求意味着如果您希望能够在目标操作上检索这些值,您有两个选择:

    • 将它们保存在数据库中并仅将 id 作为查询字符串参数传递,以允许目标操作检索它们
    • 将所有值作为查询字符串参数传递
    • 使用 TempData 或 Session(不推荐)

    【讨论】:

    • 为什么不推荐session?
    • 因为它不是 RESTful。它是网络场中的 PITA,无法扩展。
    • 哦,我明白了,谢谢。这是最简单的方法,但这些确实是缺点。另一种选择是不重定向,而是处理同一程序中的值,并且仅在处理完成后重定向(用户验证等)。
    • 谢谢,但如果您想加密附加到 URL 的任何数据以确保安全,该怎么做?
    • @Andy5,你不想那样做。您不想通过 url 发送任何敏感数据,即使是加密的。
    猜你喜欢
    • 2011-02-03
    • 1970-01-01
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-05
    • 1970-01-01
    相关资源
    最近更新 更多