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;
}
}
}
查看全文
相关阅读:
读取文本文件中的中文打印到Eclipse控制台为何显示问号
使用StringUtils需要引用的依賴
Ajax跨域访问XML数据的另一种方式——使用YQL查询语句
AngularJS快速入门指南15:API
国外社交网站获取分享数量APIs
AngularJS快速入门指南14:数据验证
AngularJS快速入门指南13:表单
AngularJS快速入门指南12:模块
AngularJS快速入门指南11:事件
AngularJS快速入门指南10:DOM节点
原文地址:https://www.cnblogs.com/tongzhenhua/p/166802.html
最新文章
Redis开发规范
mongoDB开发规范
vue版本冲突解决办法
微软 microsoft calendar control 11.0 控件下载
C#利用QRCoder生产二维码
DateTables的服务器分页
windows域控里,属性和字段映射表
CentOS安装noVNC,以Web方式交付VNC远程连接
百度人脸对比
读取文件流并写入文件流
热门文章
Installing Windows Features without Internet
使用别名访问MSSQL Express
几款流行的HTML5 UI 框架比较
测试JsonAnalyzer2的12个测试用例:
递归向下解析算术表达式(三)
递归向下解析算术表达式(二)
递归向下解析算术表达式(一)
利用ANSI转义序列在控制台输出彩色文字
JsonAnalyzer 源码下载
测试JsonAnalyzer解析Json的十一个测试用例
Copyright © 2011-2022 走看看