首页 新闻 赞助 找找看

请教在UpdatePanel里放TreeView当展开第二层节点时回自动折叠到根节点问题

0
[已关闭问题] 关闭于 2008-02-14 09:33
我在页面上放了两个UpdatePanel一个里放的TreeView用于显示机构层次,另一个里放的GridView和ObjectDataSource显示TreeView选择的机构的下级机构列表。现在的问题是当我展开根节点时没有问题,但是当我继续展开二级节点时TreeView就会自动折叠到根节点,再次点击根节点的“+”图标展开时发现TreeView的二级节点已经展开了,再往下三级节点就没有这个问题。而且我发现当TreeView多次相应SelectedNodeChanged事件后TreeNodePopulate事件会总是只相应一个节点,就是无论点击展开那个节点TreeView都是只展开一个相同的节点(TreeNode.value肯定没有重复的)。请教各位高手有没有遇到过这种问题?(另TreeView的PopulateNodesFromClient属性我设的为False,所以才要把它放在UpdatePanel里,要是PopulateNodesFromClient属性为True且不放在UpadtePanel里当TreeView响应到第三次SelectedNodeChanged时就会有“回发或回调参数无效。”的错误。) <BR><BR>源代码如下: <BR><BR>public &nbsp; partial &nbsp; class &nbsp; ZzjgInfo &nbsp; : &nbsp; System.Web.UI.Page <BR>{ <BR>&nbsp; &nbsp; &nbsp; &nbsp; public &nbsp; DataSet &nbsp; dsTree &nbsp; = &nbsp; new &nbsp; DataSet(); <BR>&nbsp; &nbsp; &nbsp; &nbsp; protected &nbsp; void &nbsp; Page_Load(object &nbsp; sender, &nbsp; EventArgs &nbsp; e) <BR>&nbsp; &nbsp; &nbsp; &nbsp; { <BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ScriptManager1.RegisterAsyncPostBackControl(TreeView1); <BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if &nbsp; (!IsPostBack) <BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; { <BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DtaZZJG &nbsp; data &nbsp; = &nbsp; new &nbsp; DtaZZJG(); <BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DataTable &nbsp; dt &nbsp; = &nbsp; data.SelectZzjgTreeByZzjgdm(Session["DepGrant"].ToString(), &nbsp; Session["ConStr"].ToString()); <BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // <BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for &nbsp; (int &nbsp; i &nbsp; = &nbsp; 0; &nbsp; i &nbsp; &lt; &nbsp; dt.Rows.Count; &nbsp; i++) <BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; { <BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TreeNode &nbsp; tr &nbsp; = &nbsp; new &nbsp; TreeNode(dt.Rows.ItemArray[1].ToString(), &nbsp; dt.Rows.ItemArray[0].ToString()); <BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tr.PopulateOnDemand &nbsp; = &nbsp; true; <BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tr.SelectAction &nbsp; = &nbsp; TreeNodeSelectAction.SelectExpand; <BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TreeView1.Nodes.Add(tr); <BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } <BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ObjectDataSource1.SelectParameters[0].DefaultValue &nbsp; = &nbsp; Session["DepGrant"].ToString(); <BR>&nbsp; &nbsp; &
cloudgamer的主页 cloudgamer | 菜鸟二级 | 园豆:280
提问于:2008-02-03 12:41
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册