惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
D
DataBreaches.Net
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
V
Visual Studio Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog RSS Feed
Recent Announcements
Recent Announcements
The Register - Security
The Register - Security
S
Secure Thoughts
Y
Y Combinator Blog
The Last Watchdog
The Last Watchdog
L
LINUX DO - 最新话题
V2EX - 技术
V2EX - 技术
腾讯CDC
GbyAI
GbyAI
G
Google Developers Blog
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
T
The Exploit Database - CXSecurity.com
T
Threat Research - Cisco Blogs
P
Proofpoint News Feed
Schneier on Security
Schneier on Security
Microsoft Security Blog
Microsoft Security Blog
Jina AI
Jina AI
WordPress大学
WordPress大学
aimingoo的专栏
aimingoo的专栏
MyScale Blog
MyScale Blog
Help Net Security
Help Net Security
K
Kaspersky official blog
P
Privacy & Cybersecurity Law Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
AI
AI
MongoDB | Blog
MongoDB | Blog
Scott Helme
Scott Helme
J
Java Code Geeks
Engineering at Meta
Engineering at Meta
H
Heimdal Security Blog
H
Help Net Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
云风的 BLOG
云风的 BLOG
Microsoft Azure Blog
Microsoft Azure Blog
S
Security Affairs
TaoSecurity Blog
TaoSecurity Blog
The GitHub Blog
The GitHub Blog
Hacker News: Ask HN
Hacker News: Ask HN
Martin Fowler
Martin Fowler
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Project Zero
Project Zero
T
The Blog of Author Tim Ferriss
Last Week in AI
Last Week in AI

博客园 - peak

windows 服务器时间同步失败处理方法 利用批处理自动创建schtasks系统任务 抓取网站编码信息及内容 在线调试利器Fiddler AutoResponse jquery跨域调用WCF Ie7下鼠标滚轮失效 Android 笔记二(取得根目录权限) Android 笔记一 捕获asp.net ValidationSummary 控件消息。 - peak Sql Split 函数 Rss的浏览器之痛 兼容IE,Firefox 图片即时显示 asp.net 中插入flash - peak - 博客园 迷茫 windows service 之访问权限 windows Service 之调试过程 比尔盖兹在某个大学毕业典礼上的演讲中,对毕业生提出十一项极为睿智的人生建议 MSDN上关于泛型的例子 泛型
Base-64 字符串中的无效字符
peak · 2011-08-16 · via 博客园 - peak

问题描述,页面A.aspx使用Ajax载入B.aspx.但在页面A中有服务器端控件,需要与服务器端交互,完成某些功能.

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: 此页的状态信息无效,可能已损坏。

源错误:

[没有相关的源行]
 
源文件: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\teacherwebsite\aba2332f\c906139a\App_Web_ppk8ycdo.10.cs    行: 0

堆栈跟踪:

[FormatException: Base-64 字符串中的无效字符。]

System.Convert.FromBase64String(String s) +0

System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +67

System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) +4

System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) +37

System.Web.UI.HiddenFieldPageStatePersister.Load() +136
 
通过上网查询,给出以下解决方案:

1、在该工程中的web.config中添加如下代码:

<pages enableEventValidation="False" viewStateEncryptionMode="Never" />

  经过试验,无效!!

2、根据 http://blog.csdn.net/Yamzef/archive/2007/03/26/1541160.aspx 里说的,如果你在回调前不加这两句的话 __theFormPostData就会在原来的基础上再添加现有的网页状态post数据,这样可以说现在回调时你已包含了两份post数据,但回调时,服务器方仍然把它当作一份看待,结果服务器分析不出post数据,只给你返回了一个网页状态已损坏的消息

分析,可能是B页面,包含form表单才造成问题出现.于是删除B.aspx中的Form标签.

    问题解决.

3、由于方法2去掉了Form标签,我的B.aspx里面有服务器控件,所以不能去掉form标签。

 我的解决方法:经过多次试验,发现问题原因主要在于由于加载了b页的全部html,b页会自己产生viewState的隐藏域跟A页的冲突了,去掉B的隐藏域就没有问题了。

Jquery.load()方法有个很好的地方,可以加载其他页面的dom,a页面里可以这样用

$("#myDiv").load("b.aspx #container",{id:$("#testhiddenID").val()},function(){ //do something here}),其中container是b页面里的div,最后a页面的myDiv只加载了b页的container。问题解决。

原文地址:http://www.cnblogs.com/liuwenlong/archive/2011/05/09/2041047.html