如何在RadMultiPage内的RadPageView中获取一个元素?

时间:2012-11-06 11:03:21

标签: javascript html telerik

我有这样的html代码:

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

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

如何在{Javascript中将DataObjectDefinitionTree变为变量?

编辑: 我只想调用RadTreeView中的两个方法(它与_getAllItems()基本相同)。
这些方法为get_selectedNode()和{{1}}。

3 个答案:

答案 0 :(得分:0)

Telerik的客户端API非常完整,see by yourself

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 %>');

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

现在,当我拨打<%=TableOverview.ClientID %>时,我会收到正确的身份证明 谢谢你的帮助。 :)