【问题标题】:How to call aspx function from ascx without creating an instance of aspx page如何在不创建 aspx 页面实例的情况下从 ascx 调用 aspx 函数
【发布时间】:2018-11-08 06:59:06
【问题描述】:

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

ASCX PAGE.Function()

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

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

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

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

【问题讨论】:

  • 为什么不创建一个包含该函数的通用类,然后您可以在aspx.csascx.cs 中使用它
  • 普通类无法对这些文件的前端进行更改。

标签: asp.net ascx


【解决方案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)
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多