当前位置:  开发笔记 > 编程语言 > 正文

通过不同ContentPlaceHolder中的控件触发UpdatePanel的更新

如何解决《通过不同ContentPlaceHolder中的控件触发UpdatePanel的更新》经验,为你挑选了1个好方法。

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

如果DropDown的selectedItemChanged事件位于不同的ContentPlaceholder中,如何触发UpdatePanel的更新?

由于UpdatePanel1不知道DropDown1,因此以下操作无效:


    
        Some content that needs to be updated here...
    
    
        
    

一种方法是制作一个ajax页面方法,当选择DropDown项目时,该方法将由页面上的javascript调用.然后在代码后面,在该页面方法中,调用UpdatePanel1.Update().

有更简单的选择吗?



1> Crescent Fre..:

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

AsyncPostBackTrigger引用的控件必须与作为触发器的更新面板位于相同的命名容器中.不支持基于其他命名容器中的控件的触发器.

解决方法是使用触发器引用的控件的UniqueID.不幸的是,在将控件添加到其父级(并且其父级已添加到其父级,一直到控制树之前)之前,UniqueID不合格.

在您的代码后面,尝试:

UpdatePanel1.Triggers.Add(new AsyncPostBackTrigger()
{
    ControlID = DropDown1.UniqueID,
    EventName = "SelectedIndexChanged", // this may be optional
});

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有