2010-08-24 201 views
0

家長控制我有了一個「容器」用戶控件承載網頁上的幾個自定義用戶控件的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

回答

0

你可以把這個在您的網頁:

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