我们可以访问一个aspx中注册的一个控件ID到另一个ascx控件,

时间:2009-03-23 12:28:35

标签: c# asp.net

我们可以访问在一个aspx中注册的一个控件ID到另一个ascx控件,

2 个答案:

答案 0 :(得分:0)

你的问题不是很清楚,但我想你是想从.ascx控件里面访问一个页面的控件,对吗?

如果这是问题,答案是否定的,你不能。或者你至少,你不应该(因为其他答案已经表明你可以做到)

您不应该这样做,因为.ascx控件是可重用的。所以它必须独立于任何页面,它必须具有自己的意义。例如,你能想象一个文本框控件需要一些在页面中使用名称的元素吗?

如果您需要控件来访问页面中的数据,则必须以相反的方式执行此操作。该页面必须通过公共财产提供数据以进行控制。

希望有所帮助

答案 1 :(得分:0)

如果您在ascx中并且需要访问父aspx页面中的控件,则可以按如下方式执行此操作:

Control myControl = this.Page.FindControl("myControl");

但是,有必要仔细研究为什么需要这样做 - 通常,子用户控件在父页面内执行操作并不是一个好习惯。另一种方法是让ascx在给定场景中抛出一个事件,父页面将依次订阅(并可能根据事件执行内部操作)。这将允许页面和用户控件之间的互操作性,同时仍然正确地封装每个人的功能。