日期:2014-05-18  浏览次数:20367 次

【100分】关于TreeView【顶者有分】
问题概况:如何在用户控件(比如x.ascx)
里面用Javascript操作Microsoft.Web.UI.WebControls.TreeView?

操作环境:.net1.1,vs2003,最新的ajax.dll(下载自http://ajax.schwarz-interactive.de/)

具体问题如下:
本菜下了个ajax.dll用于从数据库分段加载TreeView的Node,即:点击“+”号(即有子节点的Node)才开始从数据库读取相应子节点。
该方案目前已经在Aspx里面实现,但是同样的代码放到ascx中后,在另一aspx中调用时,客户端js时效,导致只有第一层节点。。。。请问各位大侠解决方案。



------解决方案--------------------
沙发
------解决方案--------------------
这要检查你的代码,如果js使用服务器控件的id,需要使用控件.ClientID,而不是直接直接控件id

document.getElementById( " <%=TextBox1.ClientID%> ")

通常都是由于这样的问题造成的
------解决方案--------------------
而不是使用
document.getElementById( "TextBox1 ")
------解决方案--------------------
学习
------解决方案--------------------
mark
------解决方案--------------------
mark
------解决方案--------------------
学习
------解决方案--------------------
up!
------解决方案--------------------
up
------解决方案--------------------
try - >


> > > > > >

UCProTree.returnDs(document.getElementById( ' <% =TreeView1.ClientID %> ').getTreeNode(Index).getAttribute( "NodeData "),returnDs_callback);
}
function returnDs_callback(response)
{
var n=document.getElementById( ' <% =TreeView1.ClientID %> ').getTreeNode(Index);

// and so on ....
------解决方案--------------------
// OR

> > > >

<script language= "javascript ">

// here
var TreeView1;
window.onload = function () {
TreeView1 = document.getElementById( ' <% =TreeView1.ClientID %> ');
}

var Index;
function ds()
{
UCProTree.returnDs(TreeView1.getTreeNode(Index).getAttribute( "NodeData "),returnDs_callback);
}
// .....
------解决方案--------------------
顶一下
------解决方案--------------------
高手还是很多的!帮顶下
------解决方案--------------------
帮定呀
------解决方案--------------------
我顶。
------解决方案--------------------
顶。。
------解决方案--------------------

------解决方案--------------------
顶一下
------解决方案--------------------

------解决方案--------------------
看钻石,看星星,楼主曰:顶者有分
------解决方案--------------------
干脆在服务端做好了!
------解决方案--------------------

------解决方案--------------------