首页 / ASP.NET / ASP.NET无效的视图
ASP.NET无效的视图
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ASP.NET无效的视图,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2039字,纯文字阅读大概需要3分钟。
内容图文

转载SP1234的办法:
如果你使用了一些比较复杂的控件(asp.net控件方式的HTML编辑器并且包含了一篇复杂文章就经常如此),看看你的页面上的ViewState是不是很大。如果很大,可以使用我下面的代码放到你的页面中:
static private DirectoryInfo _Dir; private DirectoryInfo Dir { get { if (_Dir == null) { _Dir = new DirectoryInfo(Server.MapPath("~/App_Data/")); if (!_Dir.Exists) _Dir.Create(); _Dir = new DirectoryInfo(Path.Combine(_Dir.FullName, "ViewState")); if (!_Dir.Exists) _Dir.Create(); } return _Dir; } } protected override object LoadPageStateFromPersistenceMedium() { PageStatePersister ps = this.PageStatePersister; ps.Load(); if (ps.ControlState != null) ps.ControlState = UNSerialization((string)ps.ControlState); if (ps.ViewState != null) ps.ViewState = UNSerialization((string)ps.ViewState); return new Pair(ps.ControlState, ps.ViewState); } protected override void SavePageStateToPersistenceMedium(object state) { PageStatePersister ps = this.PageStatePersister; if (state is Pair) { Pair pair = (Pair)state; ps.ControlState = pair.First; ps.ViewState = pair.Second; } else { ps.ViewState = state; } if (ps.ControlState != null) ps.ControlState = Serialization(ps.ControlState); if (ps.ViewState != null) ps.ViewState = Serialization(ps.ViewState); ps.Save(); } private object UNSerialization(string stateID) { string stateStr = (string)Cache[stateID]; string file = Path.Combine(Dir.FullName, stateID); if (stateStr == null) stateStr = File.ReadAllText(file); else Cache.Remove(stateID); return new ObjectStateFormatter().Deserialize(stateStr); } private string Serialization(object obj) { string value = new ObjectStateFormatter().Serialize(obj); string stateID = (DateTime.Now.Ticks + (long)value.GetHashCode()).ToString(); //产生离散的id号码 File.WriteAllText(Path.Combine(Dir.FullName, stateID), value); Cache.Insert(stateID, value); return stateID; } protected override void OnUnload(EventArgs e) { base.OnUnload(e); DateTime dt = DateTime.Now.AddMinutes(-20); foreach (FileInfo fl in Dir.GetFiles()) if (fl.LastAccessTime < dt) try { fl.Delete(); } catch { } }
原文:http://www.cnblogs.com/chquwa/p/4882660.html
内容总结
以上是互联网集市为您收集整理的ASP.NET无效的视图全部内容,希望文章能够帮你解决ASP.NET无效的视图所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。