asp.net中如何在左边框架中单击TreeView节点,在右边框架中显示这个节点对应的相关数据

zxx19880430 2009-12-04 06:44:42
有一个框架页面,左边是leftFrame,右边是mainFrame,在左边放了一个TreeView控件,要求点击叶子节点时,在mainFrame中用DataGrid显示这个节点在数据库中的相关信息
...全文
223 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hjhlyy 2012-05-22
  • 打赏
  • 举报
回复
可以添加一个iframe,如果像csdn这种形式,也可以用table将页面分为上、左右这种形式,在右列里加入iframe,在左边添加一个树,给树的节点的NavigateUrl属相设置为你想点击而链接的页面,而节点的target属性设为iframe的name。这样点击树的节点即可在iframe中显示你要查看的页面。
草根醉秋意 2009-12-05
  • 打赏
  • 举报
回复
Session["NodeID"] = Request.QueryString["ID"]; //ID没有传过来
泡面之夏 2009-12-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
TreeNode rootNode = new TreeNode();
rootNode.Text = "";
rootNode.ImageUrl ="images/folder.gif";
rootNode.Value = "";
rootNode.Target = "mainFrame";
rootNode.NavigateUrl = "a.aspx";                               
this.Treeview1.Nodes.Add(rootNode);

[/Quote]
up
xiangqianbo 2009-12-05
  • 打赏
  • 举报
回复
学习!
zxx19880430 2009-12-05
  • 打赏
  • 举报
回复
是不是在上面的页面中还要加什么条件,因为单独运行right.aspx后也会发生上面的错误,我又运行了一下,只有运行left.aspx时才没有错误
zxx19880430 2009-12-05
  • 打赏
  • 举报
回复
我把两个iframe页面分开来可以运行,但是运行框架时会出现未将对象引用设置到对象的实例。

原代码: protected void Page_Load(object sender, EventArgs e)
{
Session["NodeID"] = Request.QueryString["ID"];
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data source = (local);Initial Catalog = zxx;Integrated Security = True";
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "select filenames,extename,author,organization,issue,keys,filelocation from fileinformation where fileID = @fileID";
cmd.Parameters.Add(new SqlParameter("@fileID",SqlDbType.VarChar,3));
cmd.Parameters["@fileID"].Value = Session["NodeID"].ToString();
cmd.Connection = conn;
SqlDataReader myreader = cmd.ExecuteReader();
DataGrid1.DataSource = myreader;
DataGrid1.DataBind();

myreader.Dispose();
myreader.Close();
conn.Close();
}
我用断点运行好像cmd.Parameters["@fileID"].Value = Session["NodeID"].ToString()的值为空

zxx19880430 2009-12-05
  • 打赏
  • 举报
回复
可以运行了,我在right.aspx页面加了一个if语名判断Session["NodeID"] 是否为空
谢谢你们
woluge 2009-12-04
  • 打赏
  • 举报
回复
主要是 target = "mainFrame"
woluge 2009-12-04
  • 打赏
  • 举报
回复
主要是 target = "mainFrame"
dai_oath 2009-12-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
TreeNode rootNode = new TreeNode();
rootNode.Text = "";
rootNode.ImageUrl ="images/folder.gif";
rootNode.Value = "";
rootNode.Target = "mainFrame";
rootNode.NavigateUrl = "a.aspx";//这里便可以使用联接进值                               
this.Treeview1.Nodes.Add(rootNode);

mainFrame 页面使用Request.QueryString["a"].ToString()获取

[/Quote]
wuyq11 2009-12-04
  • 打赏
  • 举报
回复
TreeNode rootNode = new TreeNode();
rootNode.Text = "";
rootNode.ImageUrl ="images/folder.gif";
rootNode.Value = "";
rootNode.Target = "mainFrame";
rootNode.NavigateUrl = "a.aspx";
this.Treeview1.Nodes.Add(rootNode);
Mirana_NightShade 2009-12-04
  • 打赏
  • 举报
回复
up
小_虎 2009-12-04
  • 打赏
  • 举报
回复
tempNode.NavigateUrl = "Right.aspx?ID=" + tempNode.Value;
tempNode.Target = 框架的name属性;

--
只要传个参数过去就可以了

然后在右边的页面里面通过获取

Request.QueryString["ID"]来实现查询绑定

62,263

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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