如何在不创建aspx页面实例的情况下从ascx调用aspx函数

时间:2018-11-08 06:59:06

标签: asp.net ascx

我正在使用 ascx页面作为 aspx页面中的弹出窗口。我可以像这样在我的aspx页面中调用任何ascx函数:

ASCX PAGE.Function()

但是现在我想从我的ascx文件中调用aspx文件功能,为此,我必须创建一个aspx文件实例,例如:

AspxPage af = new AspxPage ()
af.Function()

但是我无法通过此方法实现目标,我想在不创建新实例的情况下调用该函数。

请指导我。谢谢。我在C#Visual Studio 2017中工作

1 个答案:

答案 0 :(得分:1)

(1)确保页面继承自它们都可以到达的通用类(MySpecialPageClass)(该类本身应该继承自通常的基础页面类) (2)将要公开给控件的方法添加到该类上,使其公开(MySpecialFunction)。 (3)在控件中,您需要执行自己的“ IWantToCallThePageFunctionNowMethod”(伪代码,不适用于复制+粘贴,如果在c#或vb.net中工作,则没有指示)

function IWantToCallThePageFunctionNowMethod()
{
    object thePage = this.Page
    if (checkTypeOfPageIsRightClass(thePage))
    {
        MySpecialPageClass theRightPage = (MySpecialPageClass)thePage
        theRightPage.MySpecialFunction(myParameter)
    }
}