使用了ajax的updatepannel,原来的 response.write不好用,如何解决
C# WEB vs
之前的网页里控件选择等总是不断刷新整个页面。
使用了vs里的ajax extension 里的updatepannel 来成功实现了网页的异步刷新。
但是问题出来了:
使用了updatepannel、scriptmananger等以后,原来好用的response.write就不行了,调试的时候报错:
Microsoft JScript 运行时错误: Sys.WebForms.PageRequestManagerParserErrorException: 无法分析从服务器收到的消息。之所以出现此错误,常见的原因是: 在通过调用 Response.Write() 修改响应时,将启用响应筛选器、HttpModule 或服务器跟踪。
详细信息: 分析附近的“Response.Write("<Script>alert('预测数据不完整,请重新选择数据!')</Script>");”时出错。
论坛里也看到一个大神说这两种东西一个刷新整个页面,一个不刷新、所以冲突。
求一个解决办法, 即是可以在这种状况下弹出提示框的方法。
ajax
scriptmanager
response.write
------解决方案--------------------public static void SetMessage(Page page,string messge) {
ScriptManager.RegisterClientScriptBlock(page, page.GetType(), "msg", "alert('"+messge+"!');", true);
}
------解决方案--------------------
/// <summary>
/// XXXXXXX
/// </summary>
/// <param name="str"></param>
protected void SysInfo(string str)
{
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, UpdatePanel1.GetType(), "SysInfo", str, true);
}
调用
SysInfo("window.alert('操作失败!");
SysInfo("window.alert('操作成功!");