ajax1.0不支持Response.write里面调用javascript

来源:互联网 发布:大数据与物联网 编辑:程序博客网 时间:2024/04/29 12:56

问题:
    当用户点击删除按钮时,程序调用Response.write("<script>alert('是否继续')</script>")是页面会弹出错误:

Sys.WebForms.PageRequestManagerParserErrorException:Themessage received from the server count not be parsed.Common causes forthis error are when the response is modified by calls toresponse.Write(),response filters,HttpModules,or server trace isenabled.
Details:Error parsing near '<script language=javascript'.


原因:
    由于页面中加入了UpdatePanel,而且删除按钮在UpdatePanel里面。
    当用户点击删除按钮时,ajax1.0不支持Response.write里面调用javascript。

解决办法:
    在UpdatePanel的属性中添加PostBackTrigger,ControlID为该删除按钮,如下:

<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <Triggers>
            <asp:PostBackTrigger ControlID="Button1" />
        </Triggers>

        <ContentTemplate>
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
        </ContentTemplate>
    </asp:UpdatePanel>
</div>

此时我们再单击 Button1 将出现页面闪烁,说明实现了整页回送。PostBackTrigger 只有一个属性:ControlID。

原创粉丝点击