Asp.net 小技巧 1 :解决__VIEWSTATE bug
https://blog.csdn.net/weixin_30823833/article/details/98411203
如果你在asp.net 的站点的网址后面加上这么一串?__VIEWSTATE=YY
例如:
你将得到一个类似这样的报错页面:
要解决这个问题其实也很简单:
在后台页面加上这么一段代码 就OK了


1 protected override void OnInitComplete(EventArgs e)
2 {
3 base .OnInitComplete(e);
4 if (Request.QueryString.AllKeys.Contains( " __VIEWSTATE " ))
5 {
6 PropertyInfo info = typeof (System.Collections.Specialized.NameValueCollection).GetProperty( " IsReadOnly " , BindingFlags.Instance | BindingFlags.NonPublic);
7 if (info != null )
8 {
9 info.SetValue(Request.QueryString, false , null );
10 Request.QueryString.Remove( " __VIEWSTATE " );
11 info.SetValue(Request.QueryString, true , null );
12 }
13 }
14
2 {
3 base .OnInitComplete(e);
4 if (Request.QueryString.AllKeys.Contains( " __VIEWSTATE " ))
5 {
6 PropertyInfo info = typeof (System.Collections.Specialized.NameValueCollection).GetProperty( " IsReadOnly " , BindingFlags.Instance | BindingFlags.NonPublic);
7 if (info != null )
8 {
9 info.SetValue(Request.QueryString, false , null );
10 Request.QueryString.Remove( " __VIEWSTATE " );
11 info.SetValue(Request.QueryString, true , null );
12 }
13 }
14
分类:
学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了