从VB.net迁移到C#

时间:2015-07-08 13:37:35

标签: c# asp.net treeview

我正在从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

1 个答案:

答案 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);
  }
}

某种东西:)

(没有对此进行测试。希望它有效。)