nto*_*ela 0 sitemap asp.net treeview
我有一个包含所有节点的SiteMap.我正在使用一个TreeView控件,该控件链接到SiteMap进行导航.现在我想隐藏某些节点出现在TreeView上.是否有可能做到这一点?
是的,这绝对是可能的.我们这样做的方法是将自定义的"IsPhantom"属性添加到我们不希望在站点地图中显示的节点(以及其他各种地方):
<siteMapNode url="~/Welcome.aspx" title="Welcome" description="" isPhantom="true" />
Run Code Online (Sandbox Code Playgroud)
然后在站点地图控件中,使用以下代码删除具有"IsPhantom"属性的节点:
protected void Page_Load(object sender, EventArgs e)
{
TreeView1.TreeNodeDataBound += new TreeNodeEventHandler(TreeView1_TreeNodeDataBound);
SiteMapSource.Provider = this.CurrentProvider;
}
protected void TreeView1_TreeNodeDataBound(object sender, TreeNodeEventArgs e)
{
SiteMapNode thisMapNode = (SiteMapNode)e.Node.DataItem;
TreeNode parentTreeNode = e.Node.Parent;
if (thisMapNode["isPhantom"] != null && thisMapNode["isPhantom"].ToLower().Equals(bool.TrueString.ToLower()) && parentTreeNode != null)
parentTreeNode.ChildNodes.Remove(e.Node);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8043 次 |
| 最近记录: |