所以这是我的函数,用于AJAX调用:
public void Button1_Click(object sender, EventArgs e)
{
Button1.Text = "surprise";
Label1.Text = "surprise!!";
Label2.Text = "surprise!!";
}
这是aspx
。 Scriptmanager已设置。
<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
正如您所看到的,按钮文字更改为“惊喜”,但标签Label1
和Label2
应显示在“旅馆”之后,不会。
答案 0 :(得分:5)
导致这些标签不在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>