如何传递没有形式的模型

时间:2013-06-27 15:38:26

标签: c# asp.net asp.net-mvc asp.net-mvc-3

我想将我正在使用的某些字段隐藏到网址中。

其实我正在使用

@Url.Action("Action", "Controller", new { @model.Id }) 

这项工作很好,但我想隐藏它们,而且我不必使用表格。

感谢帮助我: - )

2 个答案:

答案 0 :(得分:0)

无法从网址中隐藏任何内容。如果它在URL中,则可见。如果您不想在URL中使用它,则可以使用Session在服务器上存储此信息。

当然,如果这不是出于安全目的,使用POST方法会阻止将此信息发送到URL中。

答案 1 :(得分:0)

这里有一个关于网络如何运作的根本误解。 HTTP动词存在是有原因的。 GET用于检索资源; POST用于创建新资源或执行某些操作服务器端。简单地通过POST检索资源是不合适的,这就是浏览器没有本机能力的原因。

此外,你通过POST以某种方式“隐藏”某些东西的想法是荒谬的。 POST中的数据与GET中的数据一样可见,以窥探眼睛。你什么都没做。

更重要的是,没有理由尝试。如果你试图隐藏id,因为你相信你从中获得某种安全性,那你就错了。 id完全是上下文的:它在数据库之外没有任何意义,如果有人获得了对数据库的访问权限,那么拥有记录的id是你问题最少的。