【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);
}
// .....
------解决方案--------------------顶一下
------解决方案--------------------高手还是很多的!帮顶下
------解决方案--------------------帮定呀
------解决方案--------------------我顶。
------解决方案--------------------顶。。
------解决方案--------------------顶
------解决方案--------------------顶一下
------解决方案--------------------顶
------解决方案--------------------看钻石,看星星,楼主曰:顶者有分
------解决方案--------------------干脆在服务端做好了!
------解决方案--------------------顶
------解决方案--------------------