我在VS2005中用C#写了一个树形目录(放在框架目录的左边,面页叫leftnav.aspx),框架设计如下:
<frameset rows="56px,90%" border=0>
<frame name="banner" src="topbar.aspx" noResize scrolling="no" frameborder="0" bordercolor="navy">
<frameset cols="25%,75%"  id="frameset" border=0 >
<frame id=contents name="contents" src="leftnav.aspx" frameborder="yes" scrolling=yes >
<frame  name="main" src="contents.aspx" frameborder="no">
</frameset>
<noframes>

<p id="p1">
This HTML frameset displays multiple Web pages. To view this frameset, use a 
Web browser that supports HTML 4.0 and later.
</p>
</noframes>
</frameset>
想实现的工功能是这样:
用户点击了TreeView的某个节点,那么就打开一个新的页面,打开页面的方式我写了一个JavaScript脚本:
<script language="javascript" id="clientEventHandlersJS">function Display(url) {
    
window.parent.frames("main").location.href=url;}
</script>想问的问题就是:
怎样在C#后台
protected void tvw_SelectedNodeChanged(object sender, EventArgs e)
(点击的节点发生变化时会引发这个事件)
这个方法中调用上面用javascript写的Display函数?

解决方案 »

  1.   

    给接点添加个事件不就可以了。...
    节点.attributes.add("click","Display()");试下.
      

  2.   

    节点.attributes.add("onclick","Display()");试下
      

  3.   

    VS2005就用SiteMapDataSource吧,很方便~
      

  4.   

    也不一定要用TreeView控件,menu控件效果更好~另外,连<frameset>也可以不要了,用MasterPage等灵活~
      

  5.   

    antiking(Q狼E行)你好,节点TreeNode对象没有attributes这个属性
    Eddie005()你好:SiteMapDataSource、MasterPage能否说得更详细一点?
      

  6.   

    antiking(Q狼E行)的方法明明不行,还给80分?!