gpt4 book ai didi

c# - 访问同一页面上另一个 Webcontrol 中的标签

转载 作者:太空宇宙 更新时间:2023-11-03 20:39:48 25 4
gpt4 key购买 nike

我正在使用一个 Sublayout (Sitecore),并且有一个 placeHolder 当前包含 2 个 Web 控件。我想从一个 Webcontrol 访问标签到另一个 Webcontrol。我是否必须递归地找到标签,或者我可以通过另一种方式访问​​标签吗?我尝试了不同的方法,例如:

this.Page.Findcontrol这个.Parent.Findcontrol等..

Label lblSearchTerm = (Label)this.Parent.FindControl("lblSearchTerm");
Label lblResults = (Label)this.Parent.FindControl("lblResults");

Label lblSearchTerm = null 不会给我任何结果。我希望这里有人知道解决此问题的方法。

最佳答案

我不熟悉 Sitecore,但如果我正确理解你的问题,那么你的标签就是其中一个网络控件的子控件。如果这是真的,那么要找到这些标签,您需要先找到它们的父级(即:网络控件)。

假设以下控制层次结构:

Page
> WebControl1
> Label
> WebControl2
> Label
> Button

如果您尝试从 WebControl1 访问 WebControl2 上的标签,则

Label lblSearchTerm = (Label)this.Parent.FindControl("lblSearchTerm");

将不起作用,因为 this.Parent 将返回 Page 对象,而您要查找的标签不是 Page 的子对象。相反,它是“WebControl2”的子项,它本身是页面的子项。所以像下面这样的东西应该起作用:

Label lblSearchTerm = (Label)this.Parent.FindControl("WebControl2").FindControl("lblSearchTerm");

真的,如果标签的所有者是唯一修改它的人会更好,但这完全是另一个讨论。

关于c# - 访问同一页面上另一个 Webcontrol 中的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3501090/

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