在弹出窗口中点击提交按钮,将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>
<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>
判断每个node选没选中。选中的拼到个string的变量里面。
再在父窗口中做1个js的方法
方法体是给textbox赋值,参数是你上面的string在判断完node选中后,调用方法
ClientScript.RegisterStartupScript(me.getType(),"name","window.parent.父窗口的js方法();",true);
这样就行了
获取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)
}