在弹出窗口中点击提交按钮,将TreeView中选中的节点的value传送给父窗口中的ListBox ?搞了一天搞不定了,难道是我的思路有问题?主要是想解决这个问题:用户点击查找按钮,弹出部门的treeView,选中treeView中的一个或多个部门后点击提交,即将这些选中的部门Text和value追加到父窗口中的ListBox中去。以下是弹出窗口的代码。
<body>
    <form id="form1" runat="server">
    
    <asp:TreeView ID="treeview" runat="server" ShowCheckBoxes="All" >
        <Nodes>
            <asp:TreeNode Text="node1" Value="node1">
                <asp:TreeNode Text="node11" Value="11"></asp:TreeNode>
                <asp:TreeNode Text="node12" Value="12">
                    <asp:TreeNode Text="node121" Value="121"></asp:TreeNode>
                    <asp:TreeNode Text="node122" Value="122"></asp:TreeNode>
                    <asp:TreeNode Text="node123" Value="123"></asp:TreeNode>
                    </asp:TreeNode>
                <asp:TreeNode Text="node13" Value="13"></asp:TreeNode>
            </asp:TreeNode>
            <asp:TreeNode Text="node2" Value="2">
                <asp:TreeNode Text="node21" Value="21"></asp:TreeNode>
                <asp:TreeNode Text="node22" Value="22"></asp:TreeNode>
                <asp:TreeNode Text="node23" Value="23"></asp:TreeNode>
                </asp:TreeNode>
            <asp:TreeNode Text="node3" Value="3"></asp:TreeNode>
        </Nodes>
    </asp:TreeView>
    <div>
        <asp:Button ID="Button1" runat="server" Text="提交" OnClientClick="setValue()" OnClick="Button1_Click" />
    </div>
        <input id="Text1" runat="server" type="text" />
    </form>
</body>

解决方案 »

  1.   

    在后台遍历treeview
    判断每个node选没选中。选中的拼到个string的变量里面。
    再在父窗口中做1个js的方法
    方法体是给textbox赋值,参数是你上面的string在判断完node选中后,调用方法
    ClientScript.RegisterStartupScript(me.getType(),"name","window.parent.父窗口的js方法();",true);
    这样就行了
      

  2.   

    window.open打开页面
    获取treeview中选择的数据
    window.opener.getValue('');
    Response.Write("<script language='javascript'>window.opener.getValue('"+strCheckID+"','"+strCheckName+"');window.Close()</script>");function getValue(value,text)
    {
    document.getElementById("listboxClientID").options[document.getElementById("listboxClientID").options.length]   =   new   Option(text,value)   
    }