标签:style class c blog code java
前提是每层的结点上设置了NavigateUrl OnSelectedNodeChanged事件好像失去了作用。 另外TreeView是没有AutoPostBack的!!!! 那么要如何触发OnSelectedNodeChanged事件呢? 其实我想实现的功能很简单就是要点击节点时,该节点新式有所变化。
NavigateUrl把这个去掉试试呢?如果可以,就NavigateUrl
交给后台事件OnSelectedNodeChanged里面赋值
去掉可以触发。
不去掉,我换用JS来实现,但是它没有动态去更新,得到的仍是第一次默认的节点ID。 如何才能动态得到所选的节点呢? 我的代码是:
function goUrl(src) { var a=" <%=test() %>"; alert(a); } tn.NavigateUrl = "javascript:goUrl(‘CList.aspx?PID=" + _dataTable.Rows[0]["PID"].ToString() + "‘);"; protected string test() { this.SelectedID = new Guid(stv1.SelectedNode.Value); return this.SelectedID.ToString(); }
其实目的就是为了实现点节点时,能高亮显示以示选中,
解决了。用JQUERY实现的。 方法:
jQuery( function() { var treeObj = jQuery("#<%=stv1.ClientID %>"); //alert(treeObj.selector); //alert(treeObj.length); var anchorObjList = treeObj.find("a"); //alert(anchorObjList.length); anchorObjList.click( function() { //alert(‘test‘); anchorObjList.filter(".selectStyle").removeClass("selectStyle"); anchorObjList.filter(".ctl00_ContentPlaceHolder1_stv1_0.ctl00_ContentPlaceHolder1_stv1_1.ctl00_ContentPlaceHolder1_stv1_5").removeClass("ctl00_ContentPlaceHolder1_stv1_0 ctl00_ContentPlaceHolder1_stv1_1 ctl00_ContentPlaceHolder1_stv1_5"); jQuery(this).addClass("selectStyle");//这里的this就是指向点击的元素,点哪个就是哪个。 }); });
<style type="text/css">
.selectStyle {font-weight:bold; text-decoration:underline;Color:#5555DD;padding:0;} </style>
由TreeView 如何触发OnSelectedNodeChanged事件想到的与做到的,布布扣,bubuko.com
由TreeView 如何触发OnSelectedNodeChanged事件想到的与做到的
标签:style class c blog code java
原文地址:http://www.cnblogs.com/jack-Star/p/3747766.html