欢迎大家来谈 MVC viewdata 和 webform viewstate 内存效率问题

lyvscf 2010-05-21 10:37:59
如题 他们同为字典 应用范围也不同
...全文
135 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
JiuchunYoung 2010-05-21
  • 打赏
  • 举报
回复
我觉得 什么东西 存在即是 合理 不管为什么 只要是我开发的效率 事半功倍 我就喜欢
皇城龙三 2010-05-21
  • 打赏
  • 举报
回复
看过老赵的博客,他抛弃了webform的很多东西,包括ViewState.

他说:ViewState真是必须的吗?我可以很负责任地说,在如今大部分Web应用的页面中,出现的几乎都是大量的链接,点击链接就会跳转到一个和当前页面完全无关的新页面,这样的话,页面上的ViewState又有什么用?因此我如果新建一个Web项目,做的第一件事情就是去Web.config中将enableViewState从全局关闭——同时关闭的还有enableSessionState,这也是影响性能的因素之一(stateless也便于做Web服务器层面的负载均衡)。

有兴趣的可以看看他原文,说的有点道理,大家可以讨论一下

原文: 为WebForms说几句话,以及一些ASP.NET开发上的经验
lyvscf 2010-05-21
  • 打赏
  • 举报
回复
这样 咱们来重点谈谈 viewdata 和 viewstate 在存储数据时占用内存的问题吧
皇城龙三 2010-05-21
  • 打赏
  • 举报
回复
网上看到的一些比较

先放到这里,便于讨论:

区别一就是:
ViewState是只读的
ViewData是可读写的(可被重新定义)
区别二:ViewData可用于一次http请求中的所有视图页,如:.aspx/.ascx...,而ViewState只能用于当前后端代码文件所在的前端显示页
比如:
页面control.ascx存在于页面default.aspx中,那么在default.aspx.cs中定义的ViewState["test"]在control.ascx是取不到的
区别三:ViewState主要用来记录服务器控件的状态信息,asp.net引擎会自动填充服务器控件的状态信处到里面,所以最好不要使用ViewState存放自己的值
区别四:为了保证ViewState可以正确记录服务器控件的状态信息,ViewState中的值应该都是可以转为字串形式的(可序列化),而ViewData是可以用来保存各种类型的值的
子夜__ 2010-05-21
  • 打赏
  • 举报
回复
沙发。同LZ一样关注!
lyvscf 2010-05-21
  • 打赏
  • 举报
回复
感兴趣的人不多啊 唉

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧