比较Viewstate和SessionState

时间:2010-07-07 17:13:14

标签: c# asp.net viewstate session-state

我将ViewState [“zzz”]和Session [“zzz”]设置为相同的字符串。

当我使用==进行比较时,我得到了错误。

当我做ViewState [“zzz”]。等于(Session [“zzz”])时,我得到了。

在调试器中,它们的值都显示相同的字符串,当我执行

? ViewState["zzz"] == Session["zzz"]

我弄错了。

我认为ViewState StateBag Item默认为设置值,Session Item默认为该值?

1 个答案:

答案 0 :(得分:3)

由于ViewState和Session都存储对象,因此必须在比较之前将它们转换为string,否则您将获得引用比较而不是重载字符串运算符==被调用。

(string) ViewState["zzz"] == (string) Session["zzz"]