2010-05-14 80 views
0

我有一些控制权。我将该控件添加到OnInit的事件每一个页面的一个实例,我要访问在其他地方这种控制是这样的:Sample.Current将'Current'属性添加到ASP.NET控件

public class Sample : Control 
{ 
    public static Sample Current 
    { 
     get 
     { 
      // ??? 
     } 
    } 
} 

你能告诉我什么是做的最好的方法这个属性的实现?

回答

0

这将是一件好事多一点的细节 - 这个班的目的是什么?但是我仍然会试图帮助:

如果在代码中引用了该控件,并且不会在运行时以某种方式动态添加,那么您将能够从该页面的代码中访问该控件。也就是说,如果它声明如下页面的变量:

Sample ctrl = new Sample(); 

后来的后来,你可以在你的代码中使用ctrl.Current引用它。

仅供参考如果您想要一个地方引用页面生命周期的类和变量,您可能需要查看HttpContext.Current.Items http://www.mikeduncan.com/3-hot-uses-for-httpcontextcurrentitems-they-wont-tell-you-about/它就像只存在于单个页面请求中的会话包一样 - 例如if你有一个持有关于用户的信息的类,你需要从页面上的许多不同控件访问很多次,你可以将这个类粘贴到Items集合中,然后从页面上运行的任何代码中引用它。

HTH,
兰斯