FineUI 官方论坛

标题: 关于TreeNode的问题 [打印本页]

作者: 老是弄错    时间: 2012-4-16 20:39
标题: 关于TreeNode的问题
当后台构建TreeNode节点的时候,
private void getGNMKNode(string JD_DM, IEnumerable<V_QX_GW_GNMK> usergnmks, TreeNode topNode)
        {
            var subNodes = usergnmks.Where(p => p.FJD_DM == JD_DM).ToList();
            if (subNodes.Count > 0)
            {
                foreach (var sn in subNodes)
                {
                    TreeNode t = new TreeNode();
                    t.Text = sn.JD_MC;
                    t.NodeID = "jd" + sn.JD_DM;
                    t.NavigateUrl = string.IsNullOrEmpty(sn.PAGE_NAME) ? "" : sn.PAGE_NAME;
                    if (sn.JDLX_DM == "01")
                    {
                        //t.Expanded = true;
                        t.Leaf = false;
                    }
                    else
                    {
                        t.Leaf = true;
                    }
                    topNode.Nodes.Add(t);
                    getGNMKNode(sn.JD_DM, usergnmks, t);
                }
            }
        }
如果不如此判断:
                   t.NavigateUrl = string.IsNullOrEmpty(sn.PAGE_NAME) ? "" : sn.PAGE_NAME;
就会报错,报错的原因是:
值不能为空。
参数名: relativeUrl
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentNullException: 值不能为空。
参数名: relativeUrl

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  

堆栈跟踪:


[ArgumentNullException: 值不能为空。
参数名: relativeUrl]
   System.Web.UI.Control.ResolveUrl(String relativeUrl) +2459351
   ExtAspNet.Tree.GetNodesJArray(TreeNodeCollection nodes) +1060
   ExtAspNet.Tree.GetNodesJArray(TreeNodeCollection nodes) +2516
   ExtAspNet.Tree.GetNodesJArray(TreeNodeCollection nodes) +2516
   ExtAspNet.Tree.get_X_Nodes() +54

初步判断是TreeNode.NavigateUrl 不能为null值,如果用“”替代则可以正常显示!




欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4