日期:2014-05-17  浏览次数:20564 次

如何获取用户控件中treeview的selectednode
用户控件a.ascx中封装了一个treeview,将a.ascx拖到界面b.aspx中,通过如下方法无法获取到SelectedNode,请问为何?

TreeView tree=(TreeView)uc1.FindControl("TreeView1");
TreeNode tn=tree.SelectedNode;

------解决方案--------------------
应是可以的。。。
C# code

//UserControl
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="WebApplication1.WebUserControl1" %>
 <asp:TreeView id="SampleTreeView" 
        runat="server" >

        <Nodes>

          <asp:TreeNode Value="1" 
            Text="1"
            Target="Content" 
            Expanded="True">

            <asp:TreeNode Value="2" 
              Text="2"
              Target="Content">

              <asp:TreeNode Value="2a" 
                Text="2a"
                Target="Content"/>

            </asp:TreeNode>              

            <asp:TreeNode Value="3" 
              Text="3"
              Target="Content">

            </asp:TreeNode> 

          </asp:TreeNode>

        </Nodes>

      </asp:TreeView>

------解决方案--------------------
自定义控件中还是公布一个属性吧
public TreeNode SelNode
{
get{return TreeView.SelectedNode;}
}

访问时
uc1.SelNode