首页 新闻 搜索 专区 学院

关于treeview点击节点变色的困惑,求教~

0
悬赏园豆:5 [待解决问题]

<Nodes>
  <asp:TreeNode Text="首页" Value="首页" NavigateUrl="~/系统首页.aspx"></asp:TreeNode>
  <asp:TreeNode Text="用户资源管理" Value="用户资源管理">
  <asp:TreeNode Text="用户" Value="用户" NavigateUrl="~/信息中心内容页.aspx"></asp:TreeNode>
  <asp:TreeNode Text="组织机构管理" Value="组织机构管理" NavigateUrl="~/组织机构管理中间导航页.aspx"></asp:TreeNode>

C# code
protectedvoid TreeView1_SelectedNodeChanged(object sender, EventArgs e) { TreeView1.SelectedNodeStyle.ForeColor = Color.Blue; }



本人发现奇怪的现象无法解决,注意我是在母版页中实现功能的。问题是:
其一,做了NavigateUrl="~/****.aspx"后的节点,TreeView1_SelectedNodeChanged这个事件进不去,不可改变颜色;
其二,我接下来不用这个事件,PageLoad里面直接写 TreeView1.SelectedNodeStyle.ForeColor = Color.Blue;这句语句,发现无论点击什么节点,这句话都执行的,但是有NavigateUrl的节点,因为跳转,节点不变蓝。
其三,我觉得应该是treeview每次点击都要刷新页面的结果,会跳一下,不知能否解决。

还有用css的话

CSS code
A:link { COLOR: #000000; TEXT-DECORATION: none } A:visited { COLOR: #000000; TEXT-DECORATION: none } A:hover { COLOR: #DD5555; TEXT-DECORATION: none } A:active { COLOR: #DD5555; TEXT-DECORATION: none;}


点击后颜色不变。感觉不可保留。
请求各位大虾解答,感激不尽哈~

dejatnui的主页 dejatnui | 初学一级 | 园豆:106
提问于:2011-10-31 09:16
< >
分享
所有回答(1)
1

将NodeStyle-ForeColor设置成你需要的颜色,他就一直保持这个设置的颜色。

不知道是否符合你的要求

 

<asp:TreeView runat="server" ID="treeView1" NodeStyle-ForeColor="green">
<Nodes>
<asp:TreeNode Text="苹果" NavigateUrl="~/HTMLPage2.htm"></asp:TreeNode>
<asp:TreeNode Text="桔子" NavigateUrl="~/HTMLPage2.htm"></asp:TreeNode>
<asp:TreeNode Text="荔枝" NavigateUrl="~/HTMLPage2.htm"></asp:TreeNode>
<asp:TreeNode Text="桃子" NavigateUrl="~/HTMLPage2.htm"></asp:TreeNode>
</Nodes>
</asp:TreeView>

喬喬AI | 园豆:996 (小虾三级) | 2011-10-31 19:24

我要的是点击后出现这个效果。

支持(0) 反对(0) dejatnui | 园豆:106 (初学一级) | 2011-10-31 19:28

@dejatnui:这个点击后仍然保持蓝色,你可以设置其他颜色。

这次符合要就没

protected void treeView1_SelectedNodeChanged(object sender, EventArgs e)
{
treeView1.SelectedNodeStyle.ForeColor = System.Drawing.Color.Blue;
}

<asp:TreeView runat="server" ID="treeView1"
onselectednodechanged="treeView1_SelectedNodeChanged">
<Nodes>
<asp:TreeNode Text="苹果" NavigateUrl=""></asp:TreeNode>
<asp:TreeNode Text="桔子" NavigateUrl=""></asp:TreeNode>
<asp:TreeNode Text="荔枝" NavigateUrl=""></asp:TreeNode>
<asp:TreeNode Text="桃子" NavigateUrl=""></asp:TreeNode>
</Nodes>

支持(0) 反对(0) 喬喬AI | 园豆:996 (小虾三级) | 2011-10-31 19:44

@张小线: 你将NavigateUrl设置不为空,行不行?跳转的target设置为_blank;看看能保留不,我感觉试过不行啊。

支持(0) 反对(0) dejatnui | 园豆:106 (初学一级) | 2011-11-01 13:12

@dejatnui: 这个

<script runat="server">
void Page_Load()
{
treeView1.NodeStyle.ForeColor = System.Drawing.Color.Blue;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TreeView runat="server" ID="treeView1">
<Nodes>
<asp:TreeNode Text="苹果" NavigateUrl="~/HTMLPage2.htm" Target="_blank"></asp:TreeNode>
<asp:TreeNode Text="桔子" NavigateUrl="~/HTMLPage2.htm" Target="_blank"></asp:TreeNode>

支持(0) 反对(0) 喬喬AI | 园豆:996 (小虾三级) | 2011-11-01 18:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册