我在内容模板中使用UpdatePanel和整个表格。在这个更新面板中,我有一个下拉A,它在其onchange事件上调用一个javascript函数,该函数将另一个控件的显示CSS属性设置为none,具体取决于下拉列表的选定值。它按预期工作。但是,我有一个下拉B来调用SelectedIndexChanged,它使用一组值填充下拉列表C.那部分也有效。问题是,当调用下拉B的servside事件时,内容模板中的所有HTML似乎都被重置,导致我之前通过CSS隐藏的控件再次显示。
我想要做的是下拉列表B只更新下拉列表C而没有其他内容。如果我使用Telerik的RadAjaxManager,那么我可以轻松地做到这一点,但我们没有那个=。 ASP更新面板是否支持我想要做的事情?
注意:别担心,这次我不会删除我的问题:)
答案 0 :(得分:2)
首先,您需要将UpdatePanel设置为在条件模式下更新:
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
然后,在事件执行后,您需要在代码隐藏中更新所需的UpdatePanel:
UpdatePanel1.Update();
通过这种方式,您可以拥有多个UpdatePanel,这将提高性能,因为它们处理不同的事件(和更少的内容)。