[已关闭问题]
关闭于 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 partial class ZzjgInfo : System.Web.UI.Page <BR>{ <BR> public DataSet dsTree = new DataSet(); <BR> protected void Page_Load(object sender, EventArgs e) <BR> { <BR> ScriptManager1.RegisterAsyncPostBackControl(TreeView1); <BR> if (!IsPostBack) <BR> { <BR> DtaZZJG data = new DtaZZJG(); <BR> DataTable dt = data.SelectZzjgTreeByZzjgdm(Session["DepGrant"].ToString(), Session["ConStr"].ToString()); <BR> // <BR> for (int i = 0; i < dt.Rows.Count; i++) <BR> { <BR> TreeNode tr = new TreeNode(dt.Rows.ItemArray[1].ToString(), dt.Rows.ItemArray[0].ToString()); <BR> tr.PopulateOnDemand = true; <BR> tr.SelectAction = TreeNodeSelectAction.SelectExpand; <BR> TreeView1.Nodes.Add(tr); <BR> } <BR> ObjectDataSource1.SelectParameters[0].DefaultValue = Session["DepGrant"].ToString(); <BR> &