我猜你可能想在treeview之外或treeview的客户端事件访问该对象,treeview对象在客户端是一个XML文件,我们可以利用 treeview1.innerHTML获取他的XML字符串,再利用activex control "microsoft.xmldoc" 来访问这个xml字符串,来完成对treeview的结构的删除,增加,修改等操作,最后再利用treeview1.innerHTML把它写回去。treeview的客户端事件同其他对象一样,有onclick, ondblclick, onmouseup..., 当然还有onselectedindexchange, onexpand...但是后面几个特有的事件在当treeview的runat=server时好像无法指定客户端的script,对于前的几个事件,可以通过this.clickedNodeIndex访问点击的节点,this.clickedNodeIndex返回一个字符串,如“1.1.3”,表示所访问的树的节点位置。对于ondblclick事件,可以这样写: <... runat=server ondblclick="javascript:myfunction(obj)" ...><script language=javascript> function myfunction(obj) { var i = obj.clickedNodeIndex; var s = obj.innerHTML; // TODO .... } </script>结合前面提到的xml, 我想我们应该可以对treeview对象进行处理了。 这是我的思路,正在努力实现之中, 希望对你有所帮助。
我后来用的是一个变通的办法,不用treeView的单击事件(这样就没有闪烁了),只使用treeView节点的超链接属性,然后在超链接地址中带足够多的参数,利用这样的方式传递参数,也可以实现想要的功能。
<iewc:treeview ....ruant="server" ondblclick="javascript:....; submit();") ...>
老兄,能不能详细说说啊,真的很感谢
交互的话,我倒是有一个主意,你可以使用input的hidden类型来交互数据啊
<... runat=server ondblclick="javascript:myfunction(obj)" ...><script language=javascript>
function myfunction(obj)
{
var i = obj.clickedNodeIndex;
var s = obj.innerHTML;
// TODO ....
}
</script>结合前面提到的xml, 我想我们应该可以对treeview对象进行处理了。
这是我的思路,正在努力实现之中, 希望对你有所帮助。
^^^
应该改为:<... runat=server ondblclick="javascript:myfunction(this)" ...>
^^^^