2012-12-12 156 views
1

我的应用程序是一个asp.net MVC;我正在使用Telerik MVC Tree视图来显示模型中的节点,它运行良好,除非一个节点的值为空。ASP.NET MVC - Telerik MVC TreeView绑定到模型

这里是我的TreeView:

<% IEnumerable<MyTreeNode> tree = ViewBag.TreeData.Nodes; %> 
<%= Html.Telerik().TreeView().Name("TreeView").BindTo(tree, mappings => 
     { 
    mappings.For<MyTreeNode>(binding => binding.ItemDataBound((item, myTreeNode) => { 
            item.Text = myTreeNode.Text; }) 
            .Children(myTreeNode => myTreeNode.Nodes)); 
            }) 
    .ClientEvents(events => events.OnSelect("onSelect")) %> 

我得到以下错误(指向myTreeNode.Text)“值”不能为空或空。

我想:

if (!IsNullOrEmpty(item.Text)) 
    { 
     item.Text = myTreeNode.Text; 
    } 

我得到这个错误:名称“IsNullOrEmpty”在目前情况下不存在。

任何建议,在此先感谢。

回答

0

IsNullOrEmpty()是在一个字符串类的静态方法调用。

if(!string.IsNullOrEmpty(item.Text)) 
{ 

} 
+0

谢谢蒂姆,你的解决方案运行良好,没有erros。但是,我可以看到TreeView,但没有文字。有没有办法消除具有空值或空值的节点? – hncl

+0

我对Telerik Treeview并不是100%熟悉,但是绑定中的一般经验法则通常是操纵源数据而不是绑定到数据的控件。即如果您不想显示空白项目,则将其从源列表中删除。 –

+0

谢谢蒂姆,我会检查模型。 – hncl

0

你试过这个吗?

item.Text = (myTreeNode.Text != null) ? myTreeNode.Text : "" 

item.Text = (myTreeNode != null) ? myTreeNode.Text : "" 
+0

感谢亚历克斯,我仍然得到(“价值”不能为空或空。)错误。 – hncl