一个窗体,左边放treeview,当单击treeview的一个节点时,右边显示form,form中数据根据结点名称从数据库中读取

KELLYZHANG0913 2008-08-29 11:39:52
RT
有这么一个结构:
A---a1----a11
| |--a12
| |--a13
|-a2---a21
| |--a22
| |--a23
|-a3
当单击a22时右边显示forma22;单击a23时显示forma23;其他依次类推!
...全文
203 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
全是套路 2008-09-12
  • 打赏
  • 举报
回复
HTML頁面代碼:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="menu.aspx.cs" Inherits="_Default"%>

<!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">
<title>Untitled Page</title>
<asp:placeholder id="MyCSS" runat="server"></asp:placeholder>
<script type="text/javascript" src="App_JavaScript/dtree.js"></script>
<script language="javascript" type="text/javascript">
function setFrame(url)
{
window.parent.mainFrame.document.location=escape(url);
}
</script>
</head>
<body class="panel">
<form runat="server">
<div style=" left: 140px; top: 5px; font-weight:bold;">
<asp:LinkButton ID="Btn_Collapse" runat="server" OnClick="Btn_Collapse_Click" Text="閉合" Visible="False" />
<asp:LinkButton ID="Btn_Expand" runat="server" Text="展開" OnClick="Btn_Expand_Click" Visible="False" />
</div>
<asp:TreeView ID="TreeCTS" runat="server" ImageSet="Inbox" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged">
<ParentNodeStyle Font-Bold="False" />
<HoverNodeStyle Font-Underline="True" />
<SelectedNodeStyle Font-Underline="True" HorizontalPadding="0px" VerticalPadding="0px" />
<NodeStyle Font-Names="Verdana" Font-Size="8pt" ForeColor="Black" HorizontalPadding="5px"
NodeSpacing="0px" VerticalPadding="0px" />
</asp:TreeView>
   
</form>
</body>
</html>

C#代碼:
using System;
using System.Data;
using System.Configuration;
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 System.Data.SqlClient;
using System.Web.Configuration;
using System.IO;

public partial class _Default : System.Web.UI.Page
{
#region 變數定義區塊
/// <summary>
/// 變數定義
/// </summary>
private DataSet objDS = new DataSet();
#endregion

protected void Page_Load(object sender, EventArgs e)
{
Sql_Helper sqlHelper = new Sql_Helper();
string strSqlCmd = string.Format("select a.ModelID,ModelName from sysModel a inner join sysPermission b on a.ModelID=b.ModelID where RoleID='{0}';select FuncName,FuncURL,FuncModelID from sysFunc", Session["RoleID"]);
objDS = sqlHelper.getDataSet(strSqlCmd);
if (IsPostBack) return;
BindTree();
///初次加载页面时设定菜单为收缩样式
TreeCTS.CollapseAll();
Btn_Expand.Visible = true;
}

#region 绑定根节点
protected void BindTree()
{
foreach (DataRow dr in objDS.Tables[0].Rows)
{
TreeNode node = new TreeNode();
node.Text = dr["ModelName"].ToString();
node.Value = dr["ModelID"].ToString();
BindNode(node);
TreeCTS.Nodes.Add(node);
}
}
#endregion

#region 绑定子节点
protected void BindNode(TreeNode pnode)
{
DataView DVtree = new DataView(objDS.Tables[1]);
DVtree.RowFilter="FuncModelID=" + pnode.Value;
foreach (DataRowView Row in DVtree)
{
TreeNode cnode = new TreeNode();
cnode.Text = Row["FuncName"].ToString();
cnode.ToolTip = Row["FuncURL"].ToString();
pnode.ChildNodes.Add(cnode);
}
}
#endregion

#region 收缩菜单
protected void Btn_Collapse_Click(object sender, EventArgs e)
{
TreeCTS.CollapseAll();
Btn_Expand.Visible = true;
Btn_Collapse.Visible = false;
}
#endregion

#region 展开菜单
protected void Btn_Expand_Click(object sender, EventArgs e)
{
TreeCTS.ExpandAll();
Btn_Collapse.Visible = true;
Btn_Expand.Visible = false;
}
#endregion

#region 将页面显示在右边的Frame中
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
string url = TreeCTS.SelectedNode.ToolTip;
Page.RegisterStartupScript("JS", string.Format("<script>setFrame('{0}');</script>",url));
}
#endregion
}

不曉得是不是你要找的方法.
全是套路 2008-09-12
  • 打赏
  • 举报
回复
<script language="javascript" type="text/javascript">
function setFrame(url)
{
window.parent.mainFrame.document.location=escape(url);
}
</script>

protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
string url = TreeCTS.SelectedNode.ToolTip;
Page.RegisterStartupScript("JS", string.Format("<script>setFrame('{0}');</script>",url));
}
KELLYZHANG0913 2008-08-29
  • 打赏
  • 举报
回复
不好意思 图发错了
有这么一个结构:
A---a1
¦--a11
¦--a12
a2
¦--a21
¦--a22
a3
当单击a22时右边显示forma22;单击a23时显示forma23;其他依次类推!

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧