Asp.net中TreeView展开、关闭问题-高分请教

cuidehuashow 2010-06-15 10:44:57
如题:在页面加载的时候我想TreeView所有节点合着、当点开某父节点的时候展开子节点、这一步我可以做到、然后、当我点开父节点下的子节点的时候、转到页面了、然后TreeView所有节点又关闭了、
我想、TreeView在页面加载的时候为关闭所有子节点、当点开某一个节点的时候保持展开这一节点的状态、而不是类似刷新了一次、全部关闭节点了、
如题、请教、高分献上
无关回答不得分、3Q、在线等、
...全文
1079 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
灵雨飘零 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 computerfox 的回复:]
引用 1 楼 xray2005 的回复:

设置一个变量,记录你已经展开的TreeNode,
再次点击后,根据记录的TreeNode,循环把它们都展开就是了。


思路正确,因为你点击的时候,重新postback了页面,所以回到了初始值!
你可以在postback中判断一下上次记录的那些treenode,做下处理。
[/Quote]

up

glgxw 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 koukoujiayi 的回复:]
刚才CSDN不好上!
母板页的话要保留点击的数据,以下是用cookies,点击三级超链接,展开三级,
楼主希望展开两级的只要传上二级的两个参数就可,我做的是传了三个参数!代码如下:

C# code
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
……
[/Quote]

好好!!
JiuchunYoung 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 koukoujiayi 的回复:]
刚才CSDN不好上!
母板页的话要保留点击的数据,以下是用cookies,点击三级超链接,展开三级,
楼主希望展开两级的只要传上二级的两个参数就可,我做的是传了三个参数!代码如下:

C# code
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
……
[/Quote]
支持 顶一次
cuidehuashow 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 koukoujiayi 的回复:]
刚才CSDN不好上!
母板页的话要保留点击的数据,以下是用cookies,点击三级超链接,展开三级,
楼主希望展开两级的只要传上二级的两个参数就可,我做的是传了三个参数!代码如下:

C# code
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
……
[/Quote]
3Q
lzsh0622 2010-06-15
  • 打赏
  • 举报
回复
母版页面在服务器端来到客户端之前已经整合成一个HTML页面了。所以它已经失去了框架的特征。页面上的任意一个服务器请求,整个页面都会重构的。
lzsh0622 2010-06-15
  • 打赏
  • 举报
回复
这种需求用框架页实现容易
kevinasp 2010-06-15
  • 打赏
  • 举报
回复
你的treeview是不是用来当做目录来用的
  • 打赏
  • 举报
回复
所以还是不懂你说的“当我点开父节点下的子节点的时候、转到页面了”是不是页面重定向。不过既然你强调你是什么母板页,我估计你就是重定向。注意,不能因为你用了同一个母板页,就不丢状态了。重定向就是重定向,跟页面有没有使用同一个母板页没有关系。
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 cuidehuashow 的回复:]
我的TreeView在母版页中、了解了吧、? 呵呵、 [/Quote]

在母板页又有什么关系?你的意思是说当你重定向的时候,母板页中的东西就不丢状态?我看不出这有任何道理。
cuidehuashow 2010-06-15
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 wsdydmw 的回复:]
我也正在纠结此事
[/Quote]
顶下、来个答案
wsdydmw 2010-06-15
  • 打赏
  • 举报
回复
我也正在纠结此事
cuidehuashow 2010-06-15
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 wuyq11 的回复:]
NDE.SelectAction = TreeNodeSelectAction.Expand;
NDE树节点
TreeNode1.NavigateUrl
[/Quote]
what's wrong?
wuyq11 2010-06-15
  • 打赏
  • 举报
回复
NDE.SelectAction = TreeNodeSelectAction.Expand;
NDE树节点
TreeNode1.NavigateUrl
salon122 2010-06-15
  • 打赏
  • 举报
回复
#4楼 得分:0回复于:2010-06-15 11:01:42在Page_Load()事件中加一个Ispostback判断

cuidehuashow 2010-06-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 no4000 的回复:]
在Page_Load()事件中加一个Ispostback判断
[/Quote]
我可以这样理解么?
if(!isPostBack)
{
this.TreeView1.ExpandDepth=1;//默认展开1级节点?
}
不行、我试了、
cuidehuashow 2010-06-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sp1234 的回复:]
引用楼主 cuidehuashow 的回复:
如题:在页面加载的时候我想TreeView所有节点合着、当点开某父节点的时候展开子节点、这一步我可以做到、然后、当我点开父节点下的子节点的时候、转到页面了、然后TreeView所有节点又关闭了、
我想、TreeView在页面加载的时候为关闭所有子节点、当点开某一个节点的时候保持展开这一节点的状态、而不是类似刷新了一次、全部关闭节点了、
如题、请教……
[/Quote]
我的TreeView在母版页中、了解了吧、? 呵呵、
子夜__ 2010-06-15
  • 打赏
  • 举报
回复
Jquery Tree
这控件不错
  • 打赏
  • 举报
回复
[Quote=引用楼主 cuidehuashow 的回复:]
如题:在页面加载的时候我想TreeView所有节点合着、当点开某父节点的时候展开子节点、这一步我可以做到、然后、当我点开父节点下的子节点的时候、转到页面了、然后TreeView所有节点又关闭了、
我想、TreeView在页面加载的时候为关闭所有子节点、当点开某一个节点的时候保持展开这一节点的状态、而不是类似刷新了一次、全部关闭节点了、
如题、请教、高分献上
无关回答不得分、3Q、……
[/Quote]

“转到页面了”是什么意思?

如果还在原来页面,TreeView不会丢失状态,不可能出现你说的“所有节点又关闭了”(除非你重新生成了TreeView控件)。

如果你按照asp编程那样动不动就重定向(即使是同一个aspx),那么当然会丢失状态。
wuyq11 2010-06-15
  • 打赏
  • 举报
回复
upddatepanel实现无刷新
点击是记录node的value
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
if (this.TreeView1.SelectedNode != null)
{}
}
或JS记录
No4000 2010-06-15
  • 打赏
  • 举报
回复
在Page_Load()事件中加一个Ispostback判断
加载更多回复(9)

62,041

社区成员

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

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

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

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