私はこの会社で働く人のツリーディレクトリを持つページを持っています。最初は、ノードを開く唯一の方法は、少し+/-をクリックすることでしたが、最後のレベルに到達すると、その人の名前がそこにあり、自分のバイオページをクリックできるようになりました。私はそれ以来、テキストがノードを展開する場所に固定しましたが、現在は名前がクリック可能ではありません。それはまだ "リンク"の外観(青、下線が引かれたときに赤に変わります)を持っていますが、アイコンは同じままで、指には向いていません。 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;
}
ありがとう!それは有り難いです! – Peter