我是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!";
}
为什么不起作用?我该怎么做这项工作?
提前感谢!
答案 0 :(得分:2)
在</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Change" EventName="Click" />
</Triggers>
答案 1 :(得分:0)
您已将 updateMode属性设置为Conditional
,因此不会自动刷新updatePanel(因为这是默认设置)!!
Simpel解决方案将其设置回Always
MSDN UpdateMode
始终
UpdatePanel控件的内容将针对源自页面的所有回发进行更新。这包括异步回发。
条件
UpdatePanel控件的内容在以下条件下更新:
如果显式调用UpdatePanel控件的Update方法。
如果通过使用UpdatePanel控件的Triggers属性将控件定义为触发器并导致回发。在此方案中,控件是更新面板内容的显式触发器。触发器控件可以位于定义触发器的UpdatePanel控件的内部或外部。
如果ChildrenAsTriggers属性设置为true,则UpdatePanel控件的子控件会导致回发。在此方案中,UpdatePanel控件的子控件是用于更新面板的隐式触发器。嵌套UpdatePanel控件的子控件不会导致更新外部UpdatePanel控件,除非它们被明确定义为触发器。
有关详细信息,请参阅MSDN!