日期:2014-05-18  浏览次数:20485 次

关于AJAX 的UpdatePanel控件的问题!
小可 是菜鸟级的!
  我使用了 UpdatePanel控件来实现无刷新的!(C#语言,VS。net 2005)
  首先在登陆页面用了UpdatePanel控件,点击提交的时候,如果登陆名称和密码错误,会弹出对话框,实现了无刷新!如果登陆成功就会跳转index。aspx页面!但是 跳转到index。aspx页面的时候就出错了!错误是:

Sys.WebForms.PageRequestManagerParserErrorException:
The message received from the server could not be parsed. 
Common causes for this error are when the response is modified by calls to
 Response .Write(),response filters,HttpModules,or server trace is enabled.
在Google翻译一下:
sys.webforms.pagerequestmanagerparsererrorexception :
从收到的邮件服务器无法解析。常见的原因为这个错误是当反应是改性呼吁作出回应。
收件( ) ,响应过滤器, httpmodules ,或服务器微量启用。

我在网上找了一下,有的说 在 UpdatePanel里 加上 一下代码:
  <Triggers> 
  <asp:PostBackTrigger ControlID="btn_yhdl" /> 
  </Triggers>
或者是:在 <asp:ScriptManager id="ScriptManager1" runat="server">里面加上 EnablePartialRendering="false"

加上去真的可以跳转了!但是,出现了刷新!就相当于没有用UpdatePanel控件!

请教高手,有什么办法能实现无刷新并且页面跳转正常!我在线等!!
谢谢大家!!

------解决方案--------------------
登录方面实现无刷新最好还是用Sys.Services.AuthenticationService.login();方法去实现。

------解决方案--------------------
探讨
登录方面实现无刷新最好还是用Sys.Services.AuthenticationService.login();方法去实现。

------解决方案--------------------
那段错误码的意思是无法解析Request请求,其原因是你可能在程序中用了Response.write 作硬性输出。

检查一下你的程序有没有Response.write.
------解决方案--------------------
探讨
updatepanel 和 response.write 是有冲突的,,

试下

C# code
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('登陆成功');this.location='http://blog.csdn.net/';", true);