从基本用户控件访问页面属性,该属性由所有用户控件扩展

时间:2011-05-05 02:20:32

标签: c# asp.net

我的网页中包含很少的网络用户控件

Page执行以下操作,它扩展了Icode接口

 public partial class TestPage: System.Web.UI.Page, ICode

//它在这里实现了代码实现

public string Code
        {
            get
            {
                return "sample code";
            }
        }

其中一个控件如下

我可以从此样本控件

访问Code值
sampleControl:BaseControl

// here I am able to access the page property's

            if (Page is ICode)
            {
                string test= ((ICode))Page).Code;
            }

现在我想从BaseControl访问相同的值,因为baseControl在页面之前执行 我无法在基本控件中设置值。

BaseControl: System.Web.UI.UserControl
{
   // how can i access those values here.
}

如果我可以在基本控件中设置值,则所有控件都可以访问该值

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:2)

听起来你的依赖链被颠倒了。控件应该是可重用的单元,页面应该包含控件。您不应该尝试从控件中访问页面级属性,应该从页面设置控件的属性。