我正在从VB转向C#。事情并没有太糟糕。但是我坚持使用我的一个treeview数据绑定接收器的一部分。有一部分我无法上班。我正在使用自定义安全性来控制对应用的访问。它有一个绑定到站点地图的树视图。我有一个自定义属性,我添加到站点地图称为“securitylevel”。一个人可以有多个安全级别,因此我构建了一个具有安全级别的字符串。然后我删除他们无权访问的节点。我无法使用.net角色,因为我必须使用现有数据库。我无法弄清楚的是如何删除父节点和子节点。这是VB代码。
strNodesToHide As String = "100, 500, 900"
Dim node As SiteMapNode = TryCast(e.Node.DataItem, SiteMapNode)
If Len(node("SecurityLevel")) <> "0" Then
If InStr(strNodesToHide, node("securityLevel")) Then
e.Node.Parent.ChildNodes.Remove(e.Node)
End If
End If
答案 0 :(得分:2)
我认为这应该是一个非常直接的转换:
string strNodesToHide = "100, 500, 900";
SiteMapNode node = e.Node.DataItem as SiteMapNode;
if (node["securityLevel"].length != 0) {
if (strNodesToHide.indexOf(node["securityLevel"]) > -1) {
e.Node.Parent.ChildNodes.Remove(e.Node);
}
}
某种东西:)
(没有对此进行测试。希望它有效。)