treeView问题,搞得我头都大了!

sportdog 2004-09-06 03:19:25
遍历treeview的js:
选中根,所有的子全选中。
后台
this.TreeViewAuth.Attributes.Add("oncheck","tree_oncheck(this)");

前台脚本
function tree_oncheck(tree)
{
hidValue = "";
//得到当前选中的node
var node=tree.getTreeNode(tree.clickedNodeIndex);
//得到点击得节点checked的状态
var Pchecked=tree.getTreeNode(tree.clickedNodeIndex).getAttribute("checked");
alert(Pchecked);
}

现在我想得到当前选择节点checked到底是true,还是false;

如果节点在初始话时已经选中了,我点该节点,勾被取消,可Pchecked=true(因该为false),再点,checkbox选中Pchecked=false(因该为true)

如果节点在初始话时没有选中了,我点该节点,Pchecked=true,再点,checkbox取消Pchecked=false
这是对的.

也就是说,我现在不管初始话是选中还是不选中,点第一次,Pchecked都等于true
请问这是啥原因.

问题二:
我用脚本把树的checkbox全选中了,可后台获取不到!啥原因?
现在只好用hidden input传值了,还有更好的方法吗?


...全文
128 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sportdog 2004-09-06
  • 打赏
  • 举报
回复
哎!我已经写在
if(!IsPostBack)
{
this.TreeViewAuth.Attributes.Add("oncheck","tree_oncheck(this)");
}

里面了!
现在是用
node.Checked = drv["REGISTERED"].Equals(true);
的方式设置的.
可前台获取的都是true.
真晕,看来只好在前台设置了!
mywebcom 2004-09-06
  • 打赏
  • 举报
回复
最大的可能性:
你每一次提交服务器事件,是否每次都重新绑定了这个树型控件???

如果是的,不管你做什么,他每次都是原来的初始化的样子,怎么可能,所以有些事件的执行是需要通过 IsPostBack 判断一下。
sportdog 2004-09-06
  • 打赏
  • 举报
回复
需要注意的是如果要初始设置TreeNode为选中状态,只能在客户端设置。如果在服务器端设置TreeNode为选中状态,则在客户端使用getAttribute("Checked"),得到的值永远是true。


查到这样一篇文章!可得数据都是我是从数据中取得!

62,047

社区成员

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

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

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

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