TreeView 如何触发OnSelectedNodeChanged事件?

唧唧歪歪282 2011-05-04 01:09:49
前提是每层的结点上设置了NavigateUrl
OnSelectedNodeChanged事件好像失去了作用。
另外TreeView是没有AutoPostBack的!!!!
那么要如何触发OnSelectedNodeChanged事件呢?
其实我想实现的功能很简单就是要点击节点时,该节点新式有所变化。
...全文
470 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
唧唧歪歪282 2011-05-04
  • 打赏
  • 举报
回复
解决了。用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就是指向点击的元素,点哪个就是哪个。
});
});
唧唧歪歪282 2011-05-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yue547283947 的回复:]
NavigateUrl把这个去掉试试呢?如果可以,就NavigateUrl
交给后台事件OnSelectedNodeChanged里面赋值
[/Quote]


去掉可以触发。
不去掉,我换用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();
}
yue547283947 2011-05-04
  • 打赏
  • 举报
回复
NavigateUrl把这个去掉试试呢?如果可以,就NavigateUrl
交给后台事件OnSelectedNodeChanged里面赋值
唧唧歪歪282 2011-05-04
  • 打赏
  • 举报
回复
如何做?
子夜__ 2011-05-04
  • 打赏
  • 举报
回复
没有AutoPostBack

用JS触发吧

62,072

社区成员

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

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

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

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