0

内部にASP.NETツリービューがあるascx control。次の方法で、同じページにある別の値から値を取得しようとしています。ascx control

       var treeViewData = window["<%=TreeView1.ClientID%>" + "_Data"];
        if (treeViewData.selectedNodeID.value != "") {
            var selectedNode = document.getElementById(treeViewData.selectedNodeID.value);
            var value = selectedNode.href.substring(selectedNode.href.indexOf(",") + 3, selectedNode.href.length - 2);
            var text = selectedNode.innerHTML;
            alert("Text: " + text + "\r\n" + "Value: " + value);
        } else {
            alert("No node selected.")
        }

ただし、別のascxコントロールであるため、TreeView1を見つけることができません。それを達成する方法はありますか?

4

2 に答える 2

0

最初のユーザー コントロールで JavaScript 変数を作成し、

var treeViewID = "<%=TreeView1.ClientID%>";

次に、2 番目のユーザー コントロールで、この JavaScript 変数を使用して要素を取得します (JS 変数はグローバルです)。

var treeView = window[treeViewID + "_Data"] ;

注: これを機能させるには、最初のコントロールを 2 番目のコントロールの前にレンダリングする必要があります。

于 2012-07-18T07:58:26.673 に答える
0

ノードが選択された後、ツリー ビューを使用して ascx によって設定される aspx ページにグローバル js 変数を追加し、他の ascx でこの値を取得できます。js コードは一緒に動作しますが、aspx および cs コードは動作しません。

于 2012-07-18T08:00:15.973 に答える