zoukankan
html css js c++ java
树形结构与父子页数据传递
父页
WebPage2.aspx
<
body MS_POSITIONING
=
"
GridLayout
"
>
<
form id
=
"
Form1
"
method
=
"
post
"
runat
=
"
server
"
>
<
FONT face
=
"
宋体
"
><
INPUT id
=
"
TB_CFYJ
"
type
=
"
text
"
name
=
"
TB_CFYJ
"
><
INPUT type
=
"
button
"
value
=
"
Button
"
onclick
=
"
window.open('WebForm1.aspx', '', '');
"
></
FONT
>
</
form
>
</
body
>
WebPage1.aspx
<%
@ Page language
=
"
c#
"
Codebehind
=
"
WebForm1.aspx.cs
"
AutoEventWireup
=
"
false
"
Inherits
=
"
test.WebForm1
"
%>
<%
@ Register TagPrefix
=
"
iewc
"
Namespace
=
"
Microsoft.Web.UI.WebControls
"
Assembly
=
"
Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral, PublicKeyToken=31bf3856ad364e35
"
%>
<!
DOCTYPE HTML PUBLIC
"
-//W3C//DTD HTML 4.0 Transitional//EN
"
>
<
HTML
>
<
HEAD
>
<
title
>
WebForm1
</
title
>
<
meta content
=
"
JavaScript
"
name
=
"
vs_defaultClientScript
"
>
<
meta content
=
"
http://schemas.microsoft.com/intellisense/ie5
"
name
=
"
vs_targetSchema
"
>
<
script
>
function GetAttribute()
//
没用
{ alert(TreeView1.getTreeNode(TreeView1.selectedNodeIndex).getAttribute(
"
Text
"
)); }
function gg()
//
客户端遍历(有BUG。碰上折起来的结点就会出错)
{
var AllRootNode
=
new
Array();
AllRootNode
=
TreeView1.getChildren();
AlertNode(AllRootNode);
function AlertNode(NodeArray)
{
if
(parseInt(NodeArray.length)
==
0
)
return
;
else
{
for
(i
=
0
;i
<
NodeArray.length;i
++
)
{
var cNode;
cNode
=
NodeArray[i];
alert(cNode.getAttribute(
"
Text
"
));
if
(parseInt(cNode.getChildren().length)
!=
0
)
AlertNode(cNode.getChildren());
}
}
}
}
function addCFYJ()
//
For Client回传值
{
var mys
=
opener.document.all(
"
TB_CFYJ
"
);
mys.value
=
mys.value
+
TreeView1.getTreeNode(TreeView1.selectedNodeIndex).getAttribute(
"
Text
"
)
}
</
script
>
</
HEAD
>
<
body MS_POSITIONING
=
"
GridLayout
"
>
<
FONT face
=
"
宋体
"
>
<
form id
=
"
Form1
"
method
=
"
post
"
runat
=
"
server
"
>
<
INPUT type
=
"
button
"
onclick
=
"
addCFYJ()
"
value
=
"
client方式
"
>
//
这里是直接用客户端方式把数据传回去
<
iewc:treeview id
=
"
TreeView1
"
runat
=
"
server
"
></
iewc:treeview
>
<
asp:Button id
=
"
Button1
"
runat
=
"
server
"
Text
=
"
服务器重写js
"
></
asp:Button
></
form
>
</
FONT
>
</
body
>
</
HTML
>
WebPage2.cs
using
System;
using
System.Collections;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Web;
using
System.Web.SessionState;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.HtmlControls;
using
Microsoft.Web.UI.WebControls;
using
System.Data.OracleClient;
namespace
test
{
/**/
///
<summary>
///
WebForm1 的摘要说明。
///
</summary>
public
class
WebForm1 : System.Web.UI.Page
{
protected
Microsoft.Web.UI.WebControls.TreeView TreeView1;
protected
System.Web.UI.HtmlControls.HtmlForm Form1;
protected
System.Web.UI.WebControls.Button Button1;
DataSet ds;
private
void
Page_Load(
object
sender, System.EventArgs e)
{
OracleConnection conn
=
new
OracleConnection(
"
user id=hzzfj;password=hzzfj;data source=hzzfj
"
);
try
{
OracleDataAdapter ad
=
new
OracleDataAdapter(
"
select * from dept
"
,conn);
ds
=
new
DataSet();
ad.Fill(ds,
"
tree
"
);
InitTree(TreeView1.Nodes,
"
0
"
);
}
catch
(Exception E)
{
}
finally
{
conn.Close();
}
}
//
建树的基本思路是:从根节点开始递归调用显示子树
private
void
InitTree(TreeNodeCollection Nds,
string
parentId)
{
DataView dv
=
new
DataView();
TreeNode tmpNd;
string
intId;
dv.Table
=
ds.Tables[
"
tree
"
];
dv.RowFilter
=
"
PARENTID=
"
+
parentId
+
""
;
foreach
(DataRowView drv
in
dv)
{
tmpNd
=
new
TreeNode();
tmpNd.ID
=
drv[
"
DEPT_ID
"
].ToString();
tmpNd.Text
=
drv[
"
DEPT_NAME
"
].ToString();
tmpNd.CheckBox
=
true
;
//
tmpNd.ImageUrl="../images/"+drv["Icon"].ToString();
//
tmpNd.NavigateUrl="../"+drv["Address"].ToString();
Nds.Add(tmpNd);
intId
=
drv[
"
ParentId
"
].ToString();
InitTree(tmpNd.Nodes,tmpNd.ID);
}
}
string
res
=
""
;
private
void
Button1_Click(
object
sender, System.EventArgs e)
{
//
Response.Write("<script> alert('"+GetAllNodeText(TreeView1.Nodes)+"')</script>");
Response.Write(
"
<script> var mys = opener.document.all('TB_CFYJ');mys.value='
"
+
GetAllNodeText(TreeView1.Nodes)
+
"
';</script>
"
);
}
string
GetAllNodeText(TreeNodeCollection tnc)
{
foreach
(TreeNode node
in
tnc)
{
if
(node.Nodes.Count
!=
0
)
GetAllNodeText(node.Nodes);
if
(node.Checked)
{
res
+=
node.Text
+
"
|
"
;
}
}
return
res;
}
}
}
查看全文
相关阅读:
Access使用记录
html js 表单提交前检测数据
asp.net mvc5 action多个参数
asp.net mvc Areas 母版页动态获取数据进行渲染
asp.net mvc 自定义全局过滤器 验证用户是否登录
.net 报错汇总——持续更新
数据库基础
Python协程
Python 线程
Python 队列
原文地址:https://www.cnblogs.com/tongzhenhua/p/166802.html
最新文章
前端PHP入门-003-echo离不开它,注释看人品
前端PHP入门-002-安装WAMP的集成环境md
项目小知识
ajax调用webservice 跨域问题
上传文件设置大小
本地弹出页面
切换到另一个用户中执行一条指令或脚本
free 内存检测
sudo 问题:sorry, you must have a tty to run sudo
Web安全(白帽子讲)之第二篇
热门文章
网络层中的 IP 协议
TCP/IP
shell 数组
bash脚本中使用选项 getopts
shell脚本显示字体颜色
Web安全(白帽子讲)之第一章
winform使用相关
winform启动界面+登录窗口
sqlServer问题记录
sql学习内容记录
Copyright © 2011-2022 走看看