0

我有这样的html代码:

<telerik:RadMultiPage ID="MultiPage" runat="server">   
   <telerik:RadPageView ID="TablePage" runat="server">  
      <Cx:DataObjectDefinitionTree ID="TableOverview"   runat="server"/>  
   </telerik:RadPageView>  
</telerik:RadMultiPage>  

我可以通过以下方式获得 Multipage:var multiPage = $find('<%= MultiPage.ClientID %>');
但我无法获得 thePageViewDataObjectDefinitionTree.
虽然我需要DataObjectDefinitionTree.
我试图PageView从 the中获取MultiPage,然后DataObjectDefinitionTree从 that 中获取,但这也不起作用。

我怎样才能DataObjectDefinitionTree进入 Javascript 中的变量?

编辑:我只想调用两个方法DataObjectDefinitionTree(它与 a 基本相同RadTreeView)。
这些方法是_getAllItems()get_selectedNode()

4

3 回答 3

1

Telerik 的客户端 API 非常完整,自行查看:

var multiPage = $find('<%= MultiPage.ClientID %>');
var pageView = multiPage.findPageViewByID("TablePage");

至于DataObjectDefinitionTree,您应该能够获取 pageView 的 DOM 元素:

var domElement = pageView.get_element();
dataObjDefTree = domElement.getElementById('<%=TableOverview.ClientID %>');

或者你可以尝试这样的事情:

var dataObjDefTree = document.getElementById('<%=TableOverview.ClientID %>');
于 2012-11-06T15:22:48.933 回答
0

好的,这里的主要问题是如何WebUserControl从父页面访问您的 javascript。您需要DataObjectDefinitionTree使用与您的 UserControl 相同的 ID 将您的内容包装在一个 div 中。这是一个解释这一点的链接。

然后从 UserControl 声明您自己的函数访问RadTreeView的客户端 API(_getAllItems()get_selectedNode())。

于 2012-11-06T16:46:15.593 回答
0

好的,我发现了错误:
<%=TableOverview.ClientID %>给出了错误的 ID。要获得正确的 ID,我必须将以下内容添加到我的 ASPX-Control 中DataObjectDefinitionTree
public override string ClientID {
get { return TableTree.ClientID; }
//TableTree is the base object of DataObjectDefinitionTree
}

现在,当我打电话时,我得到了正确的 ID <%=TableOverview.ClientID %>
不过,感谢您的帮助。:)

于 2012-11-07T10:34:18.697 回答