⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jsxmltreemain.aspx

📁 ASP动态树 可以读取数据库,非常好用.希望大家踊跃下载.
💻 ASPX
字号:
<%@ Page language="c#" Codebehind="JSXMLTreeMain.aspx.cs" AutoEventWireup="false" Inherits="JSXMLlTree.JSXMLTreeMain" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
	<HEAD>
		<title>JSXMLTreeMain</title>
		<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
		<meta name="CODE_LANGUAGE" Content="C#">
		<meta name="vs_defaultClientScript" content="JavaScript">
		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
	</HEAD>
	<body MS_POSITIONING="FlowLayout">
		<form id="Form1" method="post" runat="server">
			<table>
		<tr>
			<td valign="top">

			</td>
			<td rowspan="2" style="padding-left:25" valign="top">
			
			
			
			<input type="text" value="" id="txtItem">&nbsp;<a href="javascript:void(0);" onclick="InsertNodeToDB()">新建部门</a> &nbsp; &nbsp; &nbsp;<a href="javascript:void(0);" onclick="deleteNode()">删除部门</a>
			<input type="hidden" id="txtItemParentId">
			<input type="hidden" id="txtItemId">
			<input type="hidden" id="txtItemName">
			<input type="hidden" id="txtItemUrl">
			<input type="hidden" id="txtItemUrlTarget">
			<!--<textarea id="txtLinkUrl" rows= '3' cols='70'></textarea>-->
			<input type="hidden" id="txtLinkUrl" ></input>
			<br>

			<!-- <a href="javascript:void(0);" onclick="var d=new Date(); tree.insertNewNext(tree.getSelectedItemId(),d.valueOf(),document.getElementById('ed2').value,0,0,0,0,'SELECT'); fixImage(d.valueOf());">Insert new item next</a> Item label <input type="text" value="New item" id="ed2"><br><br>
			
			<a href="javascript:void(0);" onclick="tree.deleteItem(tree.getSelectedItemId(),true);">Delete item</a><br><br> -->
			

			
			</td>
		</tr>
		<tr>
			<td>&nbsp;</td>
		</tr>
	</table>

	<SCRIPT LANGUAGE="JavaScript">
	<!--
	function newNode()
	{
//		var d=new Date(); 
//		tree.insertNewItem(tree.getSelectedItemId(),d.valueOf(),
//		document.getElementById('txtItem').value,0,0,0,0,'SELECT'); 
//		fixImage(d.valueOf());
		//Access DataBase insert new node ,return new node's id,text,url,target 
		
		var leftWin = parent.left;
		leftWin.newNode();
	}

	function deleteNode()
	{
			if(!confirm("确实删除吗?"))
			{
				return false;
			}
			//服务器端删除节点
			if (document.implementation && document.implementation.createDocument)
			{
				xmlDoc = document.implementation.createDocument("", "", null);
				xmlDoc.async=false; // not asynchronism ,wait for the file load success;

				//xmlDoc.onload = getNodeObject;
				
			}
			else if (window.ActiveXObject)
			{
				xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
				xmlDoc.async=false;

				//xmlDoc.onreadystatechange = function () {
				//	if (xmlDoc.readyState == 4) getNodeObject()
				//};
				
			}
			else
			{
				alert('Your browser can\'t handle this script');
				return false;
			}
		
		var nodeId =parent.left.tree2.getSelectedItemId()//document.getElementById("txtItemParentId").value;
		var linkurl="NodeManage.aspx?action=nodeDelete&nodeId="+nodeId;
		//alert(linkurl);
		document.getElementById("txtLinkUrl").value = linkurl;
		xmlDoc.load(linkurl);// relative Path is incrrect???
		var x = xmlDoc.getElementsByTagName("IsOk")[0].firstChild.nodeValue
		var nodeReturn = x;
		//alert(nodeReturn);
		//alert("nodeReturn   "+nodeReturn);
		if( nodeReturn != null && nodeReturn == "1")
			{
				alert("服务器端删除成功");
				//return;
			}
		else
			{
				alert("服器端删除节点失败,请检删除的时候是部门");
				return;
			}

		//客户端删除节点
		var leftWin = parent.left;
		leftWin.deleteNode();
	}

		//去掉左右空格
		String.prototype.trim  =  function()  
		{  
		return  this.replace(/(^\s*)|(\s*$)/g,  "");  
		}  
		
		function InsertNodeToDB()
		{
		/*
		*http://community.csdn.net/Expert/topic/4330/4330232.xml?temp=.6856195
		*--------------- GetResult(str,classid) -----------------
		* GetResult(str) 
		* 功能:通过XMLHTTP发送请求,返回结果.
		* 参数:str,字符串,发送条件;classid,数字,菜单级别
		* 实例:GetResult(document.all.userid.value,1);
		*--------------- GetResult(str,classid) -----------------
		*/
		if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		    http_request = new XMLHttpRequest();
		} else if (window.ActiveXObject) { // IE
		    http_request = new ActiveXObject("Microsoft.XMLHTTP");
		}
		
		var nodeParentId =parent.left.tree2.getSelectedItemId()//document.getElementById("txtItemParentId").value;
		if(document.getElementById("txtItem").value.length==0)
		{
			alert("请输入名称");
			document.getElementById("txtItem").focus();
			return false;
		}
		var nodeText = URLEncode(document.getElementById("txtItem").value);
		var nodeUrl ="";
		var nodeUrlTarget = "main";
		var linkurl="NodeManage.aspx?action=nodeNew&nodeParentId="+nodeParentId+"&nodeText="+nodeText+"&nodeUrl="+nodeUrl+"&nodeUrlTarget="+nodeUrlTarget;
		//alert(linkurl);
		document.getElementById("txtLinkUrl").value = linkurl;
		
//		// **************start Mothod 1 user ajax;
//		http_request.open("GET",linkurl,false);
//		http_request.send(null);
//		
//		//服务器端处理返回的是经过escape编码的字符串.
//		//在页面显示服务器查询结果
//		
//		var returnNodeInfo=unescape(http_request.responseText)
//		//var returnNodeInfo=http_request.responseText;
//		returnNodeInfo = returnNodeInfo.trim();
//		//alert(returnNodeInfo);
//		if(returnNodeInfo.length>0)
//		{
//		//document.all,ajax.innerHTML="服务器返回结果:<font color='red'>"+returnNodeInfo+"</font>   [Powered by AJAX]"
//		}
//		else
//		{
//		//document.all,ajax.innerHTML=""
//		}
//		//************* end Mothod 1 user ajax;
		//********** start Modthod 2 user xmlDoc.load("emperors.xml");
		//var nodeReturn = new Array();
		var nodeReturn = getNodes(linkurl);
		//alert("nodeReturn   "+nodeReturn);
		if( nodeReturn != null && nodeReturn.length>0 )
			{
				alert("服务器端增加成功");
				//alert(nodeReturn[0].id);
				//return;
			}
		else
			{
				alert("服器端增加节点失败,请检查增加的时候是部门");
				return;
			}
		//********** end Modthod 2 user xmlDoc.load("emperors.xml");
		//get new nodid,add this node in client
		if (nodeReturn.length>0)
		{
//			for(var jj=0;jj<nodeReturn.length;jj++)
//			{
//				for(var x in nodeReturn[jj])
//				{
//					alert("nodeReturn["+jj+"]."+ x +"="+nodeReturn[jj][x]);
//				}
//
//				if(nodeReturn[jj].isDept == "0") //JavaScript里"0"=="0"OK,BUT "0001" =="0" ERROR????
//				{
//					alert("增加失败,请检查增加的是否是部门");
//					return ;
//				}
//			}
			//alert("nodeReturn[0].isDep"+nodeReturn[0].isDept);
			if(nodeReturn[0].isDept == 0) //JavaScript里"0"=="0"OK,BUT "0001" =="0" ERROR????
			{
				alert("增加失败,请检查增加的是否是部门");
				return ;
			}
			document.getElementById("txtItemId").value = nodeReturn[0].id;
			document.getElementById("txtItemName").value = nodeReturn[0].deptName;
			document.getElementById("txtItemUrl").value = nodeReturn[0].deptUrl;
			document.getElementById("txtItemUrlTarget").value = nodeReturn[0].deptUrlTarget;

			var leftWin = parent.left;
			leftWin.newNode();
		}
		else
		{
			alert("添加失败!");
		}
		}
		
		//
		function getNodes(linkurl)
		{
			var obj = null;
			if (document.implementation && document.implementation.createDocument)
			{
				xmlDoc = document.implementation.createDocument("", "", null);
				xmlDoc.async=false; // not asynchronism ,wait for the file load success;

				//xmlDoc.onload = getNodeObject;
				
			}
			else if (window.ActiveXObject)
			{
				xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
				xmlDoc.async=false;

				//xmlDoc.onreadystatechange = function () {
				//	if (xmlDoc.readyState == 4) getNodeObject()
				//};
				
			}
			else
			{
				alert('Your browser can\'t handle this script');
				return false;
			}
			//xmlDoc.load("node.xml");
			//alert("linkurl:"+linkurl);
			var ddd = xmlDoc.load(linkurl);// relative Path is incrrect???
			
			//xmlDoc.load("http://localhost:8080/JavaStudy2/test/xmlHttp/InsertNewNode.jsp?nodeParentId=8&nodeText=New%20item&nodeUrl=&nodeUrlTarget=main");
//			for(var jj=0;jj<5000000;jj++)
//			{
//
//			}
			//alert("begore obj = getNodeObject();");
			if(ddd)
			{
				obj = getNodeObject();
				//alert("after obj = getNodeObject();");
				//alert(linkurl+obj +" lenth:"+obj.length);
				for(var i=0;i<obj.length;i++)
				{
					//alert("node["+i+"]");
					for(objProporty in obj[i])
					{
						//alert("obj."+objProporty+" = " + obj[i][objProporty]);
					}
				}
			}
			//var str = "<emperors><emperor><name>Augustus</name><rule>27BC-14AD</rule><death>Peaceful</death></emperor></emperors>";
			//xmlDoc.load(str);
			return obj
		}
		
		function getNodeObject()
		{
			var nodes=new Array();
			//alert("befor xmlDoc.load()");
			var x = xmlDoc.getElementsByTagName('node');
			//alert("after var x = xmlDoc.getElementsByTagName('node')");
			//alert(x.length);
			for (var i=0;i<x.length;i++)
			{   
				//alert("	for (i=0;i<x.length;i++))");
				nodes[i] = new Object();
				for (var j=0;j<x[i].childNodes.length;j++)
				{	
					//alert(x[i].childNodes[j].nodeName + "_" + x[i].childNodes[j].firstChild.nodeValue);
					//alert("for (j=0;j<x[i].childNodes.length;j++)");
					if(x[i].childNodes[j].firstChild != null)
					{
					switch(x[i].childNodes[j].nodeName)
					{
						
						case "isDept":
							nodes[i].isDept = x[i].childNodes[j].firstChild.nodeValue;
							break;
						case "id":
							nodes[i].id = x[i].childNodes[j].firstChild.nodeValue;
							break;
						case "deptName":
							nodes[i].deptName = x[i].childNodes[j].firstChild.nodeValue;
							break;
						case "deptUrl":
							nodes[i].deptUrl = x[i].childNodes[j].firstChild.nodeValue;
							break;
						case "deptUrlTarget":
							nodes[i].deptUrlTarget = x[i].childNodes[j].firstChild.nodeValue;
							break;	
						default:
							alert("no nodeName");
							
					}	
					}
					//var theData = document.createTextNode(x[i].childNodes[j].firstChild.nodeValue);
					//x[0].childNodes[j].nodeName
				}
				//alert(nodes[i]);
				//alert(nodes[i].id);
			}


			return nodes;
			//document.getElementById('writeroot').appendChild(newEl);
			//document.getElementById('txtContent').value = newEl.innerHTML;
		}
		
		
		
		function URLEncode(Str){
			if(Str==null||Str=="")
				return "";
			var newStr="";
			function toCase(sStr){
				return sStr.toString(16).toUpperCase();
				}
			for(var i=0,icode,len=Str.length;i<len;i++){
				icode=Str.charCodeAt(i);
				if( icode<0x10)
				newStr+="%0"+icode.toString(16).toUpperCase();
				else if(icode<0x80){
				if(icode==0x20)
					newStr+="+";
				else if((icode>=0x30&&icode<=0x39)||(icode>=0x41&&icode<=0x5A)||(icode>=0x61&&icode<=0x7A))
					newStr+=Str.charAt(i);
				else
					newStr+="%"+toCase(icode);
				}
				else if(icode<0x800){
				newStr+="%"+toCase(0xC0+(icode>>6));
				newStr+="%"+toCase(0x80+icode%0x40);
				}
				else{
				newStr+="%"+toCase(0xE0+(icode>>12));
				newStr+="%"+toCase(0x80+(icode>>6)%0x40);
				newStr+="%"+toCase(0x80+icode%0x40);
				}
				}
			return newStr;
			}	
		-->
	</SCRIPT>
		</form>
	</body>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -