vs2008文件代码:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" >
<ContentTemplate>
<asp:Button ID="Button1" runat="server" Text="Button" οnclick="Button1_Click" />
地区:
<asp:DropDownList ID="ddl_region" runat="server"
onselectedindexchanged="ddl_region_SelectedIndexChanged1"></asp:DropDownList>
开发区:
<asp:DropDownList ID="ddl_dept" runat="server" Width="120"></asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
报错:
JavaScript Error:
msg: Sys.WebForms.PageRequestManagerParserErrorException: 无法分析从服务器收到的消息。之所以出现此错误,常见的原因是: 在通过调用 Response.Write() 修改响应时,将启用响应筛选器、HttpModule 或服务器跟踪。
详细信息: 分析附近的“<script type="text/j"时出错。
原因找到了,因为继承的基类中有以下代码:
protected override void Render(HtmlTextWriter writer)
{
string script = topScript.ToString();
if (!string.IsNullOrEmpty(script))
{
writer.Write(Func.GetScript(script));
}
base.Render(writer);
script = bottomScript.ToString();
if (!string.IsNullOrEmpty(script))
{
writer.Write(Func.GetScript(script));
}
}
但是怎么解决呢,网上搜了两天,都没找到答案。。。。
:(
将输出流writer.Write(Func.GetScript(script));
改为:
topScript.Append(Func.GetScript(script));
或
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>" + script + "</script>");
都失败了。。。