我有两个 .ascx 文件,其中一个加载到另一个 .ascx 控件中的占位符中。
所以我有:
ParentControl
-> ChildControl
我想从 ChildControl 访问 ParentControl 以获取变量数据。
到目前为止,我有:
ParentControl.ascx
所以我有:
ParentControl
-> ChildControl
我想从 ChildControl 访问 ParentControl 以获取变量数据。
到目前为止,我有:
ParentControl.ascx
public UserList GetFunction
{
get
{
return someVariable;
}
}
在:
ChildControl.ascx
(注:此为文件名)Protected void Page_Load(object sender, EventArgs e){
ParentControl page = new ParentControl;
string newVariable = page.GetFunction.someOtherVariable;
}
当我在父类中返回someVariable时,它包含我需要的内容,但是当我尝试在ChildControl页面获取它时,GetFunction返回null。请问我错在哪里?
如果需要更多信息,请告诉我。
更新答案:
我已经通过绕过此问题来解决了它:
在父类中,我调用了一个在子类中定义的函数,并通过它传递了我需要的值。
ParentClass.ascx
protected void Page_Load
{
ControlIWantToGetInformationTo.SetInfo(info);
}
ChildClass.ascx
public void SetInfo(Info info)
{
string someString = info.TheVariableWithin;
}
有几个用户提到使用这段代码:
this.parent;
但由于我正在使用Sitecore CMS,因此this.parent返回了一个不需要的值,因为该页面一经通过Sitecore运行后就不是物理页面了。
感谢您的所有帮助,很高兴我成功解决了这个问题 :)。