ASP.NET 4.0:如何让UpdatePanel只更新一个控件而不是ContentTemplate中的所有HTML?

时间:2011-11-16 15:38:09

标签: asp.net ajax updatepanel

我在内容模板中使用UpdatePanel和整个表格。在这个更新面板中,我有一个下拉A,它在其onchange事件上调用一个javascript函数,该函数将另一个控件的显示CSS属性设置为none,具体取决于下拉列表的选定值。它按预期工作。但是,我有一个下拉B来调用SelectedIndexChanged,它使用一组值填充下拉列表C.那部分也有效。问题是,当调用下拉B的servside事件时,内容模板中的所有HTML似乎都被重置,导致我之前通过CSS隐藏的控件再次显示。

我想要做的是下拉列表B只更新下拉列表C而没有其他内容。如果我使用Telerik的RadAjaxManager,那么我可以轻松地做到这一点,但我们没有那个=。 ASP更新面板是否支持我想要做的事情?

注意:别担心,这次我不会删除我的问题:)

1 个答案:

答案 0 :(得分:2)

首先,您需要将UpdatePanel设置为在条件模式下更新:

<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">

然后,在事件执行后,您需要在代码隐藏中更新所需的UpdatePanel:

UpdatePanel1.Update();

通过这种方式,您可以拥有多个UpdatePanel,这将提高性能,因为它们处理不同的事件(和更少的内容)。