//绑定菜单树
private void BindTree(TreeView tree)
{
string Type = GetTreeType();
if (Type == "")
{
Type = "1";
}
MenuBLL Menu = new MenuBLL();
//获取数据集
DataSet ds = Menu.GetList("");
//绑定树
TreeNode node = new TreeNode(this.lblTitle.Text);
node.Value = "0";
node.NavigateUrl = GetUrl(Type) + Server.UrlEncode(node.Value);
node.Target = "childmain";
tree.Nodes.Add(node);
BindSubTree(node, "0", ds);
}childmain这个就是右面框架的id;你去框架页面找一下就可以了
TreeView的链接目标框架设置为右边就行,通过URL传数据给右边的页面这样点击TreeView后就刷新右边,左边不刷新
tmpNd.NavigateUrl="url";
tmpNd.Target = "右边框架name";
<frameset cols="200,*" id="rl_pane">
<frameset id="leftpane">
<frame name="LF_Menu" src="Menu.aspx" scrolling="no" noresize>
</frameset>
<frameset id="rightpane" border=0 frameborder=0 framespacing=0>
<frame name="RF_Main" src="Main.htm" scrolling="no" noresize>
</frameset>
</frameset>左边点击事件里
parent.RF_Main.location.href = "URL"
<frameset id="mainframe" cols="178,*">
<frame name="menu" target="main" scrolling="auto" src="a.aspx">
<frame name="main" scrolling="auto" src="b.aspx">
</frameset>
a.aspx页:
<a href="b.aspx?id=id" target="main">点击</a>
你用Tree绑定时设置target和url也就上面那样的
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="tree1.aspx.cs" Inherits="tree1" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<link type="text/css" href="css/tree.css" rel="stylesheet">
<title>ajax无刷新OA菜单</title>
<script type="text/javascript" src="fckEditor/tree.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div id="CategoryTreeSum">
<div id="CategoryTreeS"><a href="javascript:xs()"><h4><img src="Css/root.gif" border="0" />系统菜单</h4></a></div>
<div class="TreeMenu" id="CategoryTree">
</div>
</div>
<script language="jscript">
function go(url)
{
parent.frames["MainFrame"].location=url;
}
function xs()
{
if(document.getElementById("CategoryTree").style.display == '')
{document.getElementById("CategoryTree").style.display = 'none';}
else{document.getElementById("CategoryTree").style.display = '';}
}
function ExpandSubCategory(iCategoryID)
{
var li_father = el("li_" + iCategoryID);
if (li_father.getElementsByTagName("li").length > 0) //分类已下载
{
ChangeStatus(iCategoryID);
return;
}
li_father.className = "Opened";//初始状态
switchNote(iCategoryID, true);
tree1.GetSubCategory(iCategoryID, GetSubCategory_callback);//调用
} function GetSubCategory_callback(response)
{
if(response.value==null)
{
top.location.href='index.aspx';
}
else if (response.value.Tables[0].Rows.length ==0)
{
var li_father = el("li_" + 0);
li_father.innerHTML = "<br> 您无权限菜单,<br> 可联系管理员提权!";
}
else
{
var dt = response.value.Tables[0];
if (dt.Rows.length > 0)
{
var iCategoryID = dt.Rows[0].ParentModuleID;//父ID
}
var li_father = el("li_" + iCategoryID);
var ul = document.createElement("ul");
for (var i = 0;i < dt.Rows.length;i++)
{
var a;
var img;
var li;
if (dt.Rows[i].IsChild == 1) //叶子节点
{
li = document.createElement("li");
li.className = "Child";
li.id = "li_" + dt.Rows[i].quanXianID;
img = document.createElement("img");
img.id = dt.Rows[i].quanXianID;
img.className = "s";
img.src = "css/s.gif";
a = document.createElement("a");
a.href = "javascript:go('" + dt.Rows[i].URL + "');";//当前id
a.innerHTML = dt.Rows[i].quanXianMingCheng;
}
else
{
li = document.createElement("li");
li.className = "Closed";
li.id = "li_" + dt.Rows[i].quanXianID;
img = document.createElement("img");
img.id = dt.Rows[i].quanXianID;
img.className = "s";
img.src = "css/s.gif";
img.onclick = function () {
ExpandSubCategory(this.id);
};
img.alt = dt.Rows[i].quanXianMingCheng;
a= document.createElement("a");
a.href = "javascript:ExpandSubCategory(" +
dt.Rows[i].quanXianID + ");";
a.innerHTML = dt.Rows[i].quanXianMingCheng;
}
li.appendChild(img);
li.appendChild(a);
ul.appendChild(li);
}
li_father.appendChild(ul);
switchNote(iCategoryID, false);
} }
function ChangeStatus(iCategoryID)
{
var li_father = el("li_" + iCategoryID);
if (li_father.className == "Closed")
{
li_father.className = "Opened";
}
else
{
li_father.className = "Closed";
}
} function switchNote(iCategoryID, show)
{
var li_father = el("li_" + iCategoryID);
if (show)
{
var ul = document.createElement("ul");
ul.id = "ul_note_" + iCategoryID;
var note = document.createElement("li");
note.className = "Child";
var img = document.createElement("img");
img.className = "s";
img.src = "css/s.gif";
var a = document.createElement("a");
a.href = "javascript:void(0);";
a.innerHTML = "<img src='css/indicator.gif' border=0/> <font color=#666666 style=font-size:12px>请稍候...</font>";
note.appendChild(img);
note.appendChild(a);
ul.appendChild(note);
li_father.appendChild(ul);
}
else
{
var ul = el("ul_note_" + iCategoryID);
if (ul)
{
li_father.removeChild(ul);
}
}
} // 加载根节点
var tree = el("CategoryTree");
var root = document.createElement("li");
root.id = "li_0";
tree.appendChild(root);
// 加载页面时显示第一级分类
ExpandSubCategory(0);
</script>
</form>
</body>
</html>
cs:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using jhb.DataSql;
using System.Data.SqlClient;
public partial class tree1 : System.Web.UI.Page
{
SqlDataBase dp = new SqlDataBase();
protected void Page_Load(object sender, System.EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(tree1));
if (Session["EmpName"] == null)
{
Response.Write("<script>top.location.href='index.aspx';</script>");
return;
}
}
//private Random rand = new Random();
#region 返回dataset,查询树形的 id,名称,父类id,输入当前节点id(返回是否是子节点)
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]
public DataSet GetSubCategory(int iCategoryID)
{
string strName = Session["EmpName"].ToString();
DataSet ds = new DataSet();
try
{
ds = dp.ExecuteDataSet(CommandType.StoredProcedure, "u_SelectMenu", new SqlParameter("@Fid", iCategoryID), new SqlParameter("@name", strName));
}
catch
{
} //System.Threading.Thread.Sleep(3500 + rand.Next(1000)); return ds;
}
#endregion
}右边:随便一个界面都可以