.Net 异步 ICallBackEventHandler Response.Write()冲突
开发时发现ICallBackEventHandler 回调事件js一直无法成功,后从此文得到启发
微软对返回的信息处理的代码是function WebForm_ExecuteCallback(callbackObject) ,如果调用后台出错,返回信息的第一个字母必须是e,
如果没有出错,且第一个字母不是s,那么返回信息里必须有一个|,|前面是一个数字,表示从|开始有多少个字符将作为页面的__eventvalidation的控件的值,之后剩下的字符作为返回值,
测试发现 在实现ICallBackEventHandler的代码中如果使用Response.Write(“ddddddddd”)输出数据,页面回调时会把Response出的数据会被放在最前面
格式如下 :Response的数据|要回调的数据
这样WebForm_ExecuteCallback就无法识别了,会返回Null
结论:避免在使用ICallBackEventHandler时使用Response.Write()