Как вызвать функцию aspx из ascx без создания экземпляра страницы aspx - PullRequest
0 голосов
/ 08 ноября 2018

Я использую страницу ascx как всплывающее окно на моей странице aspx . Я могу вызвать любую функцию ascx на моей странице aspx следующим образом:

ASCX PAGE.Function()

Но теперь я хочу вызвать функции файла aspx из моего файла ascx, и для этого мне нужно создать экземпляр файла aspx, например:

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

Но я не могу достичь своей цели с помощью этого метода, я хочу вызвать функцию, не создавая новый экземпляр.

Пожалуйста, ведите меня. Спасибо. Я работаю в C # visual studio 2017

1 Ответ

0 голосов
/ 08 ноября 2018

(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)
    }
}
...