贴你一个,使用时webconfig设置要该为
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>tree.js文件内容
太长了,我贴在我的blog上:
http://blog.csdn.net/happyjun2000/archive/2004/10/14/136305.aspx使用方法:
namespace DataPlatform.Web
{
/// <summary>
/// mainwindow 的摘要说明。
/// </summary>
public class mainwindow : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!IsPostBack)
{
if (Session["userId"]==null)
{
Response.Redirect ("login.aspx");
// return;
}
ViewState["treeItems"]=getTreeItem();
}
} private string getTreeItem()
{
StringBuilder sb=new StringBuilder();
string CRLF="\r\n";
sb.Append(" treeVariable = treeVariable.addItem(new obj_node('root','环境综合数据平台','','root','entrance/desktopFrame.aspx','',0,''));" + CRLF); //环境监测
#region 1:环境监测
sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor','环境监测','root','folder','','',1,''));" + CRLF);
sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_1','送样登记','monitor','page','envMonitor/registAnalysisFrame.aspx?goto=regist','forum.gif',1,''));" + CRLF);
sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_2','样品接收','monitor','page','envMonitor/registAnalysisFrame.aspx?goto=receive','forum.gif',2,''));" + CRLF);
sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_3','分析数据','monitor','page','envMonitor/registAnalysisFrame.aspx?goto=data','forum.gif',3,''));" + CRLF);
sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_4','分析报告','monitor','page','envMonitor/registAnalysisFrame.aspx?goto=report','search.gif',4,''));" + CRLF);
// sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_2','监测数据','monitor','page','envMonitor/monitorDataFrame.aspx','forum.gif',2,''));" + CRLF);
sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_5','自动监控','monitor','page','envMonitor/otherdata.aspx','forum.gif',5,''));" + CRLF);
sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_6','数据查询','monitor','page','envMonitor/dataquery.aspx','search.gif',6,''));" + CRLF);
sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_7','报表统计','monitor','page','envMonitor/RptFrame.aspx','search.gif',7,''));" + CRLF);
sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_8','报表配置','monitor','page','envMonitor/rptConfig.aspx','forum.gif',8,''));" + CRLF);
// //if(Session["qxid"].ToString().Substring(9,1)=="1" || Session["qxid"].ToString().Substring(8,1)=="1")
// //{
// sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_1','环境质量','monitor','folder','','',1,''));" + CRLF);
//
// sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_1_1','污染源管理','monitor_1','page','envMonitor/pollutionSource.aspx','sys.gif',1,''));" + CRLF);
// sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_1_2','文档资料','monitor_1','page','envMonitor/infoTest.aspx','ou.gif',2,''));" + CRLF);
//
// sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_2','污染源','monitor','folder','','',2,''));" + CRLF);
// sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_2_1','污染源管理','monitor_2','page','instock/jhhandler.aspx','ou.gif',1,''));" + CRLF);
// sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_2_2','数据单位','monitor_2','page','instock/jhhandler.aspx','ou.gif',2,''));" + CRLF);
#endregion
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>tree.js文件内容
太长了,我贴在我的blog上:
http://blog.csdn.net/happyjun2000/archive/2004/10/14/136305.aspx使用方法:
namespace DataPlatform.Web
{
/// <summary>
/// mainwindow 的摘要说明。
/// </summary>
public class mainwindow : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!IsPostBack)
{
if (Session["userId"]==null)
{
Response.Redirect ("login.aspx");
// return;
}
ViewState["treeItems"]=getTreeItem();
}
} private string getTreeItem()
{
StringBuilder sb=new StringBuilder();
string CRLF="\r\n";
sb.Append(" treeVariable = treeVariable.addItem(new obj_node('root','环境综合数据平台','','root','entrance/desktopFrame.aspx','',0,''));" + CRLF); //环境监测
#region 1:环境监测
sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor','环境监测','root','folder','','',1,''));" + CRLF);
sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_1','送样登记','monitor','page','envMonitor/registAnalysisFrame.aspx?goto=regist','forum.gif',1,''));" + CRLF);
sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_2','样品接收','monitor','page','envMonitor/registAnalysisFrame.aspx?goto=receive','forum.gif',2,''));" + CRLF);
sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_3','分析数据','monitor','page','envMonitor/registAnalysisFrame.aspx?goto=data','forum.gif',3,''));" + CRLF);
sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_4','分析报告','monitor','page','envMonitor/registAnalysisFrame.aspx?goto=report','search.gif',4,''));" + CRLF);
// sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_2','监测数据','monitor','page','envMonitor/monitorDataFrame.aspx','forum.gif',2,''));" + CRLF);
sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_5','自动监控','monitor','page','envMonitor/otherdata.aspx','forum.gif',5,''));" + CRLF);
sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_6','数据查询','monitor','page','envMonitor/dataquery.aspx','search.gif',6,''));" + CRLF);
sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_7','报表统计','monitor','page','envMonitor/RptFrame.aspx','search.gif',7,''));" + CRLF);
sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_8','报表配置','monitor','page','envMonitor/rptConfig.aspx','forum.gif',8,''));" + CRLF);
// //if(Session["qxid"].ToString().Substring(9,1)=="1" || Session["qxid"].ToString().Substring(8,1)=="1")
// //{
// sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_1','环境质量','monitor','folder','','',1,''));" + CRLF);
//
// sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_1_1','污染源管理','monitor_1','page','envMonitor/pollutionSource.aspx','sys.gif',1,''));" + CRLF);
// sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_1_2','文档资料','monitor_1','page','envMonitor/infoTest.aspx','ou.gif',2,''));" + CRLF);
//
// sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_2','污染源','monitor','folder','','',2,''));" + CRLF);
// sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_2_1','污染源管理','monitor_2','page','instock/jhhandler.aspx','ou.gif',1,''));" + CRLF);
// sb.Append("treeVariable = treeVariable.addItem(new obj_node('monitor_2_2','数据单位','monitor_2','page','instock/jhhandler.aspx','ou.gif',2,''));" + CRLF);
#endregion
<%@ Page language="c#" Codebehind="mainwindow.aspx.cs" AutoEventWireup="false" Inherits="DataPlatform.Web.mainwindow" %>
<HTML>
<HEAD>
<TITLE></TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<SCRIPT language="JavaScript" src="javascript/tree.js"></SCRIPT>
<OBJECT id="closes" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"
VIEWASTEXT>
<PARAM NAME="Width" VALUE="106">
<PARAM NAME="Height" VALUE="53">
<PARAM NAME="Command" VALUE="Close">
</OBJECT>
<SCRIPT language="JavaScript">
function defineMenuItems(treeVariable) { <%=ViewState["treeItems"]%>
} </SCRIPT>
</HEAD>
<frameset rows="26,*,0" border="0" frameSpacing="0" frameBorder="0" onload="startMenu()">
<frame name="topmenu" scrolling="no" noresize target="contents" src="topbar.aspx" frameBorder="0">
<frameset cols="160,1,*" onload="startMenu()" id="frame2">
<FRAME name="MenuFrame" marginWidth="0" marginHeight="0" src="loading.htm" noResize scrolling="auto"
target="PageFrame">
<frame name="pageMiddle" noresize>
<frame name="PageFrame" src=desktopFrame.aspx frameBorder="0" scrolling="auto" noresize>
</frameset>
<frame name="Refresh" noresize scrolling="no" src="refresh.aspx">
<noframes>
<body>
<p>此网页使用了框架,但您的浏览器不支持框架。</p>
</body>
</noframes>
</frameset>
</HTML>
----------------------------------------------------
<HTML xmlns:mydbtree>
<HEAD>
<?IMPORT NAMESPACE="mydbtree" IMPLEMENTATION="treeview.htc"/>
<script language=javascript>
function InitTree()
{
usertree.treeNodeSrc = "GetXml.aspx?type=root";
usertree.databind();
}
</script>
</HEAD>
<body onload="javascript:initTree();">
<mydbtree:treeview id="usertree"></mydbtree:treeview>
</body>----------------------------------
GetXml.aspx.cs
----------------------------------
在GetXml.aspx的Page_Load事件中:
GenerateXml();
GenerateXml()的代码如下:
private void GenerateXml()
{
string strType = Request.QueryString["type"];
StringBuilder sXML=new StringBuilder();
sXML.Append("<?xml version=\"1.0\" encoding=\"gb2312\" ?>");
sXML.Append("<TREENODES>");
if (strType != null)
{
if (strType.ToLower() == "root")
{
sXML.Append("<TREENODE TEXT=\"根节点\" treeNodeSrc=\"GetXml.aspx?type=children\" expanded=\"false\">");
sXML.Append("</TREENODE>");
}
else if (strType.ToLower() == "children")
{
sXML.Append("<TREENODE TEXT=\"子节点\" treeNodeSrc=\"GetXml.aspx?type=children\" expanded=\"false\">");
sXML.Append("</TREENODE>");
}
}
sXML.Append("</TREENODES>");
Response.Clear()
Response.Write(sXML.ToString());
Response.End();
}基本上就是这样,我这里只是做了一个简单的测试,是一个可以无限展开的树,你可以改进一下来符合你的需求,需要注意的是,你需要把treeview.htc拷贝到你的目录中来,如果需要图片,就需要重新指定imageUrl属性,注意节点的expanded必须为false,否则你没有点击+号,也会自动展开.
楼主说的是微软的treeview.
多谢你的回答,不过现在我们不想重新写一个树了,:)to cancersyf(fengzhimei) :谢谢,这正是我想要的,我先照着你的改改吧,
遇到问题我会给你发现消息,希望你继续帮忙问题解决后我会再送100分先结贴了