更改 UpdatePanel 中的文本

Change text in UpdatePanel

我是 ASP.NET 的新手。这是我的代码:

 <asp:UpdatePanel runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:Button Text="Change" runat="server" ID="BtnChangeText" OnClick="BtnChangeText_OnClick"/>
            <asp:Label runat="server" ID="LblTest" Text="Change me!"></asp:Label>        
        </ContentTemplate>          
 </asp:UpdatePanel>

这是我的服务器代码:

    protected void BtnChangeText_OnClick(object sender, EventArgs e)
    {
        LblTest.Text = "Hello World!";
    }

为什么不起作用?我该怎么做才能完成这项工作?

提前致谢!

您已将 updateMode 属性 设置为 Conditional 因此 updatePanel 不会自动刷新(因为这是默认设置)!!

Simpel 解决方案将其设置回 Always

MSDN 更新模式

总是
UpdatePanel 控件的内容会针对源自该页面的所有回发进行更新。这包括异步回发。

条件
UpdatePanel 控件的内容在以下条件下更新:

  • 如果显式调用了UpdatePanel控件的Update方法。

  • 如果使用 UpdatePanel 控件的触发器 属性 将控件定义为触发器并导致回发。在这种情况下,控件是更新面板内容的显式触发器。触发器控件可以在定义触发器的 UpdatePanel 控件内部或外部。

  • 如果 ChildrenAsTriggers 属性 设置为 true 并且 UpdatePanel 控件的子控件导致回发。在这种情况下,UpdatePanel 控件的子控件是更新面板的隐式触发器。嵌套的 UpdatePanel 控件的子控件不会导致更新外部 UpdatePanel 控件,除非它们被明确定义为触发器。

有关详细信息,请参阅 MSDN

在你的 </ContentTemplate>

之后添加这个
<Triggers>         
  <asp:AsyncPostBackTrigger ControlID="Change" EventName="Click" /> 
</Triggers>