C# 更改UpdatePanel中的文本

C# 更改UpdatePanel中的文本,c#,asp.net,asp.net-ajax,updatepanel,C#,Asp.net,Asp.net Ajax,Updatepanel,我是ASP.NET新手。这是我的代码: <asp:UpdatePanel runat="server" UpdateMode="Conditional"> <ContentTemplate> <asp:Button Text="Change" runat="server" ID="BtnChangeText" OnClick="BtnChangeText_OnClick"/> <asp:L

我是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>
为什么不起作用?。这项工作我该怎么做


提前感谢

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

Simpel解决方案将其设置回
始终

MSDN UpdateMode

始终
UpdatePanel控件的内容将针对源自页面的所有回发进行更新。这包括异步回发

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

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

  • 如果通过使用UpdatePanel控件的Triggers属性将控件定义为触发器并导致回发。在此场景中,控件是用于更新面板内容的显式触发器。触发器控件可以位于定义触发器的UpdatePanel控件的内部或外部

  • 如果ChildrenAsTriggers属性设置为true,并且UpdatePanel控件的子控件会导致回发。在此场景中,UpdatePanel控件的子控件是用于更新面板的隐式触发器。嵌套UpdatePanel控件的子控件不会导致更新外部UpdatePanel控件,除非它们被显式定义为触发器


有关更多详细信息,请参阅

在您的



由于这两个控件都在updatepanel中,他的代码应该可以工作。我仍然不知道触发器,但我正在使用ajax及其工作原理。那么有什么区别呢?@ALOK是的,代码应该是有效的。使用多个更新面板时触发帮助,或在外部事件发生时导致更新面板刷新。检查一下:在Ubuntu Linux 16.04和.NET 4.0以及Mono版本4.4.0上,这可能是错误的。非常感谢。
    protected void BtnChangeText_OnClick(object sender, EventArgs e)
    {
        LblTest.Text = "Hello World!";
    }
<Triggers>         
  <asp:AsyncPostBackTrigger ControlID="Change" EventName="Click" /> 
</Triggers>