嗨我试图将Kendo UI树视图绑定到ASP.NET MVC 4控制器。我试图用TreeViews关于远程数据的Kendo UI演示中的信息。据我所知,被返回的JSON似乎是正确的,那么数据数组周围的封装对象会出现问题吗?Kendo UI TreeView不显示远程数据
查看代码
<div class="treeview-back" style="padding: 10px">
<h3>Groups</h3>
@(Html.Kendo().TreeView()
.Name("treeviewGroup")
.DataTextField("Name")
.DataSource(dataSource => dataSource
.Read(read => read
.Action("GroupsRead", "Group")
)
)
)
</div>
控制器
public class GroupController : Controller
{
private IUserService _userService;
public GroupController(IUserService userService)
{
_userService = userService;
}
//
// GET: /GroupManage/
public ActionResult ManageGroup()
{
return View();
}
public ActionResult GroupsRead([DataSourceRequest]DataSourceRequest request)
{
var groups = _userService.GetAllGroups();
List<GroupTreeViewModel> treeViewGroups = new List<GroupTreeViewModel>();
foreach (var group in groups)
{
treeViewGroups.Add(new GroupTreeViewModel()
{
id = group.Id,
Description = group.Description,
Name = "Test Node",
text = "Body of test node",
hasChildren = false,
ParentId = null
}
);
}
return Json(treeViewGroups.ToDataSourceResult(request),JsonRequestBehavior.AllowGet);
}
}
**返回的JSON
{"Data":[{"Name":"Test Node","Description":"Full","text":"Body of test node","id":1,"hasChildren":false,"ParentId":null},{"Name":"Test Node","Description":"Platform 1","text":"Body of test node","id":2,"hasChildren":false,"ParentId":null}],"Total":2,"AggregateResults":null,"Errors":null}
更新
我解决了这个问题。返回的json数据按照树视图预期的方式进行了不同的布局。 treeview期望一个节点数组,而不是我发送包装在另一个对象中的数组。 http://demos.kendoui.com/web/treeview/remote-data.html:
我通过去除()调用.ToDataSourceRequest
return Json(treeViewGroups,JsonRequestBehavior.AllowGet);
需要更多的信息 - 具体地说,你在看什么和你在期待什么?你在网页中发生错误吗?它显示了什么,或什么都没有?要么 ??? – 2013-04-29 15:45:31
我期待在根级别有两个项目的树视图,在这一点上,我什么也没有看到。 – 2013-04-29 15:59:26