我需要从数据库中检索记录,将其显示在网页上(我正在使用ASP.NET),但是将记录中的ID(主键)存储在某处,以便稍后我可以使用该ID返回数据库(也许要做更新).
我知道可能有几种方法可以做到这一点,例如将ID存储在ViewState或隐藏字段中,但最好的方法是什么?我可以选择这种方法的原因是什么?
这取决于.
如果有人看到记录ID,你关心吗?如果你这样做,那么隐藏的字段和viewstate都不合适; 您需要将其存储在会话状态,或加密viewstate.
如果有人提交伪造身份证明的表格,您是否在乎?如果你这样做,你就不能使用隐藏的领域(你需要将CSRF保护视为奖励)
你想要它是不可改变的,但不关心它是否可以观看(有一些工作)?使用viewstate并在页面上设置enableViewStateMac ="true"(或全局)
想要隐藏和保护但不能使用会话状态?通过设置以下web.config条目来加密您的视图状态