2012-03-23 15 views
0

私はこの会社で働く人のツリーディレクトリを持つページを持っています。最初は、ノードを開く唯一の方法は、少し+/-をクリックすることでしたが、最後のレベルに到達すると、その人の名前がそこにあり、自分のバイオページをクリックできるようになりました。私はそれ以来、テキストがノードを展開する場所に固定しましたが、現在は名前がクリック可能ではありません。それはまだ "リンク"の外観(青、下線が引かれたときに赤に変わります)を持っていますが、アイコンは同じままで、指には向いていません。 TreeNodeDataBoundイベントとそのコードビハインドを削除すると、名前は機能しますが、もうテキストをクリックして展開することはできません。両方を持つ方法はありますか?TreeNodeバインディングとリンクの問題

NavigateURLを調べようとしましたが、情報が外部のXMLDataSourceから来ています。それが簡単な修正の場合、私はそれを知らない。

ありがとうございます!ここで

は...

<%@ Control language="C#" Inherits="Modules.PeopleNav.PeopleByAlpha" CodeFile="PeopleByAlpha.ascx.cs" AutoEventWireup="true"%> 
<%@ Register TagPrefix="dnn" TagName="Audit" Src="~/controls/ModuleAuditControl.ascx" %> 
<asp:TreeView ID="TreeView1" runat="server" DataSourceID="XmlDataSource1" 
    ExpandDepth="1" onselectednodechanged="TreeView1_SelectedNodeChanged" OnTreeNodeDataBound="TreeView1_TreeNodeDataBound"> 
    <DataBindings> 
    <asp:TreeNodeBinding DataMember="Person" ValueField="Value" TextField="Name"> 
     </asp:TreeNodeBinding> 
     <asp:TreeNodeBinding DataMember="AlphaBreak" TextField="Name"> 
     </asp:TreeNodeBinding> 
     <asp:TreeNodeBinding DataMember="PeopleAlpha" TextField="Name"> 
     </asp:TreeNodeBinding> 
    </DataBindings> 
</asp:TreeView><br /> 

<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/Portals/0/Docs/PeopleAlpha.xml"></asp:XmlDataSource> 

とコードビハインド(.Expandが動作し、リンクが動作していないと)...

protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) 
    { 
     String sURL = TreeView1.SelectedNode.Value.ToString(); 
     if (sURL.Length > 5) 
     { 
      String sExt = sURL.Substring(sURL.Length - 4, 4); 
      if (sExt == "aspx") 
      { 
       Response.Redirect(sURL); 
      } 
     } 
    } 

    protected void TreeView1_TreeNodeDataBound(object sender, TreeNodeEventArgs e) 
    { 
     e.Node.SelectAction = TreeNodeSelectAction.Expand; 

    } 

答えて

1

変更ページ上のコードでありますTreeNodeSelectAction.SelectExpandにアクションを選択:

protected void TreeView1_NodeDataBound(object sender, TreeNodeEventArgs e) 
    { 
      e.Node.SelectAction = TreeNodeSelectAction.SelectExpand; 
    } 
+0

ありがとう!それは有り難いです! – Peter