首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >asp.net webforms -与页面控件交互的复合控件

asp.net webforms -与页面控件交互的复合控件
EN

Stack Overflow用户
提问于 2012-02-26 23:22:19
回答 2查看 339关注 0票数 0

作为实验,我正在用c# asp.net编写一个复合控件,希望复合控件的所有实例都能与一个外部控件交互。这个是可能的吗?

我尝试过的东西:

选项1:从控件内部检查页面上是否存在外部控件,如果没有则添加

选项2:在设计时将目标控件的id传递给复合控件,然后使用this.Page.FindControl()

显然,它是一厢情愿的想法,它将是如此简单:)

如果我尝试在CreateChildControls方法中执行此操作,this.Page.FindControl(目标控件)总是返回null。如果我试图从这个方法中将控件添加到页面,它会抛出一个异常:

在DataBind、Init、Load、PreRender或Unload阶段不能修改控件集合。

有没有其他方法/事件可以实现这一点?

EN

回答 2

Stack Overflow用户

发布于 2012-02-26 23:51:28

通过实现INamingContainer接口,可以在同一个网页窗体上创建多个实例。这基本上有助于防止同一名称空间中的id冲突。

如果要访问另一个控件,请在该控件上设置一个属性,以公开要公开的数据。

Build Composite Controls

票数 0
EN

Stack Overflow用户

发布于 2012-02-27 00:16:34

为什么不在复合控件上公开一个公共属性,说明它们的输出是什么,然后在呈现面板内容时,递归遍历页面,找到复合控件的所有实例,抓取文本,并将其添加到面板中?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9454279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档