1

我正在使用 MVC 3 C#.NET。

有没有办法在页面之间传递值(具有不同控制器的两个不同页面)而不暴露 URL 中的值或隐藏值?最后的手段是使用 Session 变量吗?或者您会建议对隐藏字段(ala ViewState 样式)进行编码并将其解析到控制器吗?

我正在传递几个我想对用户隐藏的值,因为他们可能会尝试使用这些值。

有什么建议么?

4

3 回答 3

1

只需在表单中使用 POST 和隐藏字段。POST 字段不会显示在您的 URL 中,只有 GET。始终尽量减少会话变量的使用,这些变量应该用于存储用户登录信息、用户设置、首选项等。

于 2012-07-09T06:51:30.893 回答
1

只需将此数据保存在服务器上的某个后备存储中(可以是数据库或您正在使用的任何后备存储)。我自己不是 Session 的粉丝,所以我根本不建议使用它。如果用户不应该看到或修改这些数据,那么甚至不应该将这些数据传递给视图。它应该留在它所属的地方=>在服务器上。

于 2012-07-09T06:57:42.680 回答
0

我仍然使用隐藏字段,但将其编码为 Base64,类似于 ViewState 样式。它掩盖了大多数用户的真实价值。

于 2012-07-10T08:33:44.220 回答