树形结构与父子页数据传递
WebPage2.aspx
< 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
<% @ 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.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;
}
}
}
转载于:https://www.cnblogs.com/tongzhenhua/archive/2005/06/02/166802.html
树形结构与父子页数据传递相关推荐
- Vue表单类的父子组件数据传递示例_vue.js_脚本之家
使用Vue.js进行项目开发,那必然会使用基于组件的开发方式,这种方式的确给开发和维护带来的一定的便利性,但如果涉及到组件之间的数据与状态传递交互,就是一件麻烦事了,特别是面对有一大堆表单的页面. 在 ...
- CSS实现树形结构 + js加载数据
看到一款树形结构,比较喜欢它的样式,就参照它的外观自己做了一个,练习一下CSS. 做出来的效果如下: 拉莫小学 一年级 一班 二班 二年级 三年级 一班 二班 三班 树的dom结构: <div ...
- react中父子组件数据传递,子组件之间的数据传递
首先有三个js文件,index.js(父组件) baseForm.js(子组件) etable.js(子组件) 在index.js中定义一个arr数组,传给BaseForm组件 import Reac ...
- 跨页数据传递的两种方式
选择具有PostBackUrl属性的三个控件Button.LinkButton.ImageButton.PostBackUrl属性的值就是投递的页面URL. 要在接收页面按对象的方式接收投递页面的表单 ...
- html5父子页面数据传递,使用iframe标签嵌套页面时 如何进行父子页面通讯/传值...
父页面使用iframe标签引入子页面 (使用本地文件) 父页面 function myFunction(e) { console.log("我是父页面的方法") } 引入本地路径的 ...
- vue父子之间数据传递
父组件: 1,引入子组件 2,ref 3,需要更新数据操作的地方 子组件: 1,定义同名事件,拿到数据执行相关操作
- Angular2父子组件数据传递之@ViewChild获取子组件详解
@ViewChild的作用是声明对子组件元素的实例引用,意思是通过注入的方式将子组件注入到@ViewChild容器中,你可以想象成依赖注入的方式注入,只不过@ViewChild不能在构造器constr ...
- 数据库学习,树形结构的数据库表Schema设计方案
2019独角兽企业重金招聘Python工程师标准>>> 程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门.栏目结构.商品分类等等,通常而言,这些树状结构需 ...
- mysql关系型数据库生成树形结构,Layui页面渲染树型结构图(详细)
文章目录 一.学使用DTree 上代码(详细说明注释见) 引入结构 说明 dataFormat:"list" 二.使用MySQL查询结果 说明 三.效果展示 总结 # 前言 项目使 ...
最新文章
- 第163天:js面向对象-对象创建方式总结
- SAP中执行没有权限的事务
- 14.PTD与的基址
- springboot-嵌入式Servlet容器(Tomcat)源码分析以及容器切换
- ElasticSearch入门 第一篇:Windows下安装ElasticSearch
- SAP HANA Hint简介
- JPA实体锁定模式的差异
- 工作67:三级级联问题
- 分布式数据库在金融应用场景中的探索与实践
- M斐波那契数列(HDU-4549)
- mybatis中经典的9种设计模式
- html页面forEach用法,!foreach循环用在HTML中,请高手协助
- 游戏开发之C++指针的妙用(C++)
- .net weka ikvm java
- 刷题记录 CF每日一题打卡 2020.5月?-六月16
- 量子计算机需要的基础,量子计算入门
- 不是吧!你还不懂DHT协议?
- CAD创建以及自动加载脚本文件*scr
- 不要去深圳小梅沙海洋世界
- QtAV的编译与使用(MSVC2015+Qt5.9.8)