分配给标签的文本不会更新

Assigned text to label doesn't get updated

所以这是我的函数,它服务于 AJAX 调用:

public void Button1_Click(object sender, EventArgs e)
        {
            Button1.Text = "surprise";
            Label1.Text = "surprise!!";
            Label2.Text = "surprise!!";
        }

这是aspx。脚本管理器已设置。

    <p>Síðast slóstu inn:
        <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
        <asp:Label ID="Label2" runat="server" Text=""></asp:Label>
    </p>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:TextBox ID="TextBox1" runat="server">asd</asp:TextBox>
            <asp:TextBox ID="TextBox2" runat="server">dsa</asp:TextBox>
            <asp:Button ID="Button1" runat="server" Text="Save" OnClick="Button1_Click" />
        </ContentTemplate>
    </asp:UpdatePanel>

想看的可以自己看:http://webapplication44730.azurewebsites.net/data

如您所见,按钮文本更改为 "surprise",但应该出现在 'inn,' 之后的标签 Label1Label2 却没有。

原因是这些标签不在 UpdatePanel 内,这意味着它们不会从 AJAX 回调中更新。

围绕您需要更新的每个控件设置更新面板:

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <p>Síðast slóstu inn:
            <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
            <asp:Label ID="Label2" runat="server" Text=""></asp:Label>
        </p>
        <asp:TextBox ID="TextBox1" runat="server">asd</asp:TextBox>
        <asp:TextBox ID="TextBox2" runat="server">dsa</asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Save" OnClick="Button1_Click" />
    </ContentTemplate>
</asp:UpdatePanel>