gpt4 book ai didi

asp.net - 由不同 ContentPlaceHolder 中的控件触发 UpdatePanel 的更新

转载 作者:行者123 更新时间:2023-12-03 23:20:33 25 4
gpt4 key购买 nike

我有一个包含两个 ContentPlaceHolders 的页面。一个有一个 DropDown 和另一个包含内容的 UpdatePanel。

当它们位于不同的 ContentPlaceholders 中时,如何通过 DropDown 的 selectedItemChanged 事件触发对 UpdatePanel 的更新?

由于 UpdatePanel1 不知道 DropDown1,以下将不起作用:

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"  ChildrenAsTriggers="true">
<ContentTemplate>
Some content that needs to be updated here...
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="DropDown1" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>

One way is to make an ajax page method that would be called by javascript on the page when DropDown's item is selected.然后在后面的代码中,在该页面方法中,调用 UpdatePanel1.Update()。

有没有更简单的选择?

最佳答案

来自 http://msdn.microsoft.com/en-us/library/system.web.ui.asyncpostbacktrigger.aspx

The control that the AsyncPostBackTrigger references must be in the same naming container as the update panel for which it is a trigger. Triggers that are based on controls in other naming containers are not supported.



解决方法是使用控件的 UniqueID
触发器正在引用。不幸的是,UniqueID 不合格
直到控件被添加到它的父级(和它的父级)
已添加到其父级,一直向上控制树)。

在你后面的代码中,尝试:
UpdatePanel1.Triggers.Add(new AsyncPostBackTrigger()
{
ControlID = DropDown1.UniqueID,
EventName = "SelectedIndexChanged", // this may be optional
});

关于asp.net - 由不同 ContentPlaceHolder 中的控件触发 UpdatePanel 的更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/417131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com