存储在会话

问题描述:

家长控制我有了一个“容器”用户控件承载网页上的几个自定义用户控件的ASP.NET Web窗体的参考。控件可以直接托管在容器中,也可以是其他用户控件的子项。容器usercontrol有几个暴露的公共属性,我有时需要从子用户控件中进入。我一直在使用某种形式的“this.Parent”或“this.Parent.Parent”来回到基础控件。存储在会话

什么是存储到一个参考的影响“这一”进会议从基本控制,所以我可以从事件处理程序中的用户控件中访问它?

感谢,
Darvis

+0

只是为了得到一个小范围内,为什么用户控件是否必须返回到基本页面?你正在阅读属性,访问其他控件,或其他? – Larsenal 2010-08-24 20:11:58

+0

那么...使用this.Page对你来说还不够?你可以把它投到你的基页 – 2010-08-24 20:21:57

+0

我需要纠正自己...我们的主页面托管一个usercontrol,它是我们所有其他用户控件的主机。我不需要访问该页面,但需要父级用户控件。这个用户控件是从System.Web.UI.UserControl中分类的。所以我真正想要做的是存储对主要用户控件的引用,而不是页面。 – DarLom 2010-08-24 20:34:55

你可以把这个在您的网页:

public MyControlType MyParentControl 
{ 
    get 
    { 
     return this._myParentUserControl; 
    } 
} 

,并把这个在您的自定义控件:

var parentPage = this.Page as MyBasePageType; 
if(parentPage !=null){ 
    parentPage.MyParentControl.WhateverFuncNameYouNeed("myParams"); 
} 
+0

你会得到+1加分进行浇铸,一个接口,而不是一个具体的 – 2010-08-24 20:27:04

+0

型谢谢,会做的伎俩,如果它是不是事实,我的问题是非常糟糕的措辞,并没有真正解释一下我正在努力去做。我在评论中澄清。 – DarLom 2010-08-24 20:36:41

+0

啊...好同样的伎俩将工作(与扭捏)我真的建议从未把引用用户控件在会议上...我会更新我的答案 – 2010-08-24 20:39:38