【问题标题】:Access the parent Telerik.Web.UI.RadWindow from the contained System.Web.UI.Page从包含的 System.Web.UI.Page 访问父 Telerik.Web.UI.RadWindow
【发布时间】:2013-01-30 14:16:58
【问题描述】:

问题在标题中:

我有一个 System.Web.UI.Page 包含在 Telerik.Web.UI.RadWindow 中,但我找不到从 Page 代码隐藏中访问 RadWindow 的方法。

我试图探索 Page 属性,我猜想在某个时候对控件进行强制转换,但我没有找到任何东西。

编辑:在运行时,我不知道 RadWindow 的来源(它是从应用程序中的任何地方动态生成的),所以我无法访问它来修改 RadWindow 定义.这就是为什么我需要在运行时访问它,以编程方式对其进行更改。

你能帮帮我吗?

谢谢!

【问题讨论】:

    标签: c# asp.net telerik radwindow


    【解决方案1】:

    您无法在内容页面的代码隐藏中访问 RadWindow。这相当于在代码隐藏中从 SomeOtherPage.aspx 访问 Default.aspx。根本没有办法做到这一点。

    但是,您可以使用 JavaScript。如果页面都是您的(即相同的应用程序,相同的域),您可以获得对 RadWindow 的引用并使用其客户端 API。见这里:

    http://www.telerik.com/help/aspnet-ajax/window-programming-radwindow-methods.html

    http://www.telerik.com/help/aspnet-ajax/window-programming-calling-functions.html - GetRadWindow() 将返回引用

    这里

    http://www.telerik.com/help/aspnet-ajax/window-application-is-page-in-radwindow.html

    【讨论】:

    • 我担心你会这么说。无论如何,谢谢,我会尝试用JS管理。
    【解决方案2】:

    您需要为您的 RadWindow 分配一个 xname

    <telerik:RadWindow x:Name="myWindow">
    ...
    </telerik:RadWindow>
    

    然后您可以在任何 xaml 的代码隐藏中访问 myWindow

    【讨论】:

    • 感谢您的回复。不幸的是,在运行时,我不知道 RadWindow 来自哪里,所以我无法访问它来修改 RadWindow 定义。这就是为什么我需要在运行时访问它,以编程方式对其进行更改。
    • @X.L.Ant 你怎么不知道它来自哪里?你一定成功了。您可以在运行时完全按照我的描述进行修改。可能我误会你了。
    • 我的意思是应用程序以编程方式在一百个不同的地方生成 radwindows,每次都使用不同的参数。您所描述的意味着我访问每个 radwindow 生成过程以添加此参数(而不是在运行时),这在我的情况下似乎不切实际。在页面加载时,它可以被这些 RadWindows 中的任何一个包含,而不知道是哪个。
    • @X.L.Ant 那么也许您需要对这些窗口进行某种可观察的集合,以便您可以实际访问它们。也许给每个人某种唯一的标识符。没有更多细节很难回答您的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    相关资源
    最近更新 更多