C# WEB vs
之前的网页里控件选择等总是不断刷新整个页面。
使用了vs里的ajax extension 里的updatepannel 来成功实现了网页的异步刷新。
但是问题出来了:
使用了updatepannel、scriptmananger等以后,原来好用的response.write就不行了,调试的时候报错:Microsoft JScript 运行时错误: Sys.WebForms.PageRequestManagerParserErrorException: 无法分析从服务器收到的消息。之所以出现此错误,常见的原因是: 在通过调用 Response.Write() 修改响应时,将启用响应筛选器、HttpModule 或服务器跟踪。
详细信息: 分析附近的“Response.Write("<Script>alert('预测数据不完整,请重新选择数据!')</Script>");”时出错。
论坛里也看到一个大神说这两种东西一个刷新整个页面,一个不刷新、所以冲突。
求一个解决办法, 即是可以在这种状况下弹出提示框的方法。ajaxscriptmanagerresponse.write
之前的网页里控件选择等总是不断刷新整个页面。
使用了vs里的ajax extension 里的updatepannel 来成功实现了网页的异步刷新。
但是问题出来了:
使用了updatepannel、scriptmananger等以后,原来好用的response.write就不行了,调试的时候报错:Microsoft JScript 运行时错误: Sys.WebForms.PageRequestManagerParserErrorException: 无法分析从服务器收到的消息。之所以出现此错误,常见的原因是: 在通过调用 Response.Write() 修改响应时,将启用响应筛选器、HttpModule 或服务器跟踪。
详细信息: 分析附近的“Response.Write("<Script>alert('预测数据不完整,请重新选择数据!')</Script>");”时出错。
论坛里也看到一个大神说这两种东西一个刷新整个页面,一个不刷新、所以冲突。
求一个解决办法, 即是可以在这种状况下弹出提示框的方法。ajaxscriptmanagerresponse.write
大都是用这样的方法,具体的类似方法你上网查查有好多
ClientScript.RegisterStartupScript(e.GetType(), "myscript", "<script>alert('你要弹出的内容!');</script>");
我的需要弹出的对话框有很几种,不如说;
if (DropDownList2.SelectedValue == "")
{
ClientScript.RegisterStartupScript(e.GetType(), "myscript", "<script>alert('请选择预测范围!');</Script>");
return;
}
else if (this.TextBox1.Text == "")
{
ClientScript.RegisterStartupScript(e.GetType(), "myscript", "<script>alert('请选择预测时间长度!');</Script>");
return;网上提供的方法,一般都要绑定控件,但是我的判断并不是仅仅针对这一个控件的
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('操作成功!");
解决了,谢谢,这样行