处理单个页面时,ViewState是比QueryString更好的选择,用于维护状态.为什么?

Med*_*Man 2 .net asp.net asp.net-mvc

我正在阅读文章: Steven A. Smith 在ASP.NET应用程序中管理持久用户状态的九个选项(他不是在ESPN上主持一个节目吗?)

在文章中,Steven发表了以下声明:"在处理单个ASP.NET页面时,ViewState是比QueryString更好的选择,用于维护状态"

不幸的是,他没有解释为什么会这样.为什么会这样?

Eri*_*bes 12

我想是因为QueryString是页面URI的一部分 - 因此可以被用户篡改.更不用说QueryString中的空间有限 - 仅限于URL的最大大小(IE中为2048字节,其他浏览器更容易适应).

除了篡改,在QueryString中存储状态的随机位会导致非常丑陋的URL - 因此对搜索引擎不友好的URL.