0

私は次のような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
PageViewMultiPageDataObjectDefinitionTree

DataObjectDefinitionTreeJavascriptで変数を取得するにはどうすればよいですか?

編集: から 2 つのメソッドを呼び出したいだけですDataObjectDefinitionTree(基本的には a と同じRadTreeViewです)。
これらのメソッドは_getAllItems()get_selectedNode()です。

4

3 に答える 3

1

Telerik の Client-Side 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にアクセスする方法です。DataObjectDefinitionTreeUserControl と同じ ID を使用して、 のコンテンツを div でラップする必要があります。これを説明するリンクを次に示します。

次に、UserControl から、RadTreeViewのクライアント側 API (_getAllItems()およびget_selectedNode()) にアクセスする独自の関数を宣言します。

于 2012-11-06T16:46:15.593 に答える
0

OK、エラーが見つかりました:
<%=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 に答える