我想写一个查询smn.ParentNode.ChildNodes
。如果ShowInNavigation值为false,我不想显示。 Telerik站点地图节点具有此att。何你这样做?
using System;
using System.Web;
using Telerik.Sitefinity.Web;
using System.Linq;
using System.Data;
public partial class CustomTemplate_Navigation : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
SiteMapNode smn = SiteMapBase.GetCurrentProvider().CurrentNode;
while (smn.ParentNode != null)
{
if (smn.ParentNode.ParentNode == SiteMap.RootNode)
{
siteMapControl_verticaltree.DataSource = smn.ParentNode.ChildNodes;/*this line will be write query*/
siteMapControl_verticaltree.DataBind();
break;
}
smn = smn.ParentNode;
}
}
}
答案 0 :(得分:0)
类似的东西:
smn.ParentNode.ChildNodes.AsQueryable().Where(x => x.ShowInNavigation).ToList();
答案 1 :(得分:0)
你可以做这样的事情:(你不仅应该Linqify,还需要演员) (我在.NET MVC4项目中使用过它)
SiteMapNodeCollection coll = SiteMap.RootNode.ChildNodes;
IEnumerable<SiteMapNode> nodes = coll.Cast<SiteMapNode>();
var query = from node in nodes where Boolean.Parse(node["ShowInNavigation"]) == true select node;