asp.net ajax updatepanel asyncPostBackTrigger刷新页面

时间:2016-06-02 18:36:32

标签: asp.net ajax asp.net-ajax

我真的对这个无意义的错误感到愤怒。我有一个像这样的超简单页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ajax.aspx.cs" Inherits="tebimir.ajax" %>
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<body>
<form id="form1" runat="server">
<div>
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
            <asp:Label ID="Label1" runat="server" Text="Label">    </asp:Label>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
        </Triggers>
    </asp:UpdatePanel>
</div>
</form>
</body>
</html>

我的按钮点击事件:

        protected void Button1_Click(object sender, EventArgs e)
    {
        Label1.Text = DateTime.Now.ToString();
    }

每次点击button1页面都会刷新?!为什么?不应该是异步邮件包吗?

1 个答案:

答案 0 :(得分:1)

更新面板中的所有内容都会导致ajax回发,您无需将该按钮添加为AsyncPostBackTrigger。

您可以使用AsyncPostBackTrigger在面板外部创建一个按钮,使UpdatePanel回发。

删除以下内容并重试:

<Triggers>
    <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
</Triggers>