我有一个相当简单的数据模型,包含三个表。契约(Contract)、成员、剧集。并且我正在尝试构建一个 telerik TreeView 以显示三个表中的每个条目关于它们在树层中的关系......
- 有多个契约(Contract)。
- 每个合约都有多个成员。
- 每个成员都有多个剧集。
请注意,telerik 演示仅显示了一部分 child 。 Telerik's Online Demo
此外,他们的 Drag and Drop演示使用相同的表并简单地使用 GetRootEmployee 函数来填充。所以我找不到任何相关的例子。
示例:
Contract 1's decription
Member of Contract 1's name
Episodeid of Member in Contract 1
Another Member of Contract 1...
Episodeid of another Member.
Contract 2's description
问题 是我根本无法让剧集(第三层)成功填充,尽管前两个工作正常。我将发布我的 View 和我的 Controller 。
查看
@(
Html.Telerik().TreeView()
.Name("myTree")
.BindTo(Model, mappings =>
{
mappings.For<SMTXEFMVCModel.Contract>(binding => binding
.ItemDataBound((item, contract) =>
{
item.Text = contract.Description;
})
.Children(contract => contract.Members));
mappings.For<SMTXEFMVCModel.Member>(binding => binding
.ItemDataBound((item, member) =>
{
item.Text = member.FirstName + " " + member.LastName;
}) //If I stop here, it populates Contract and Members correctly.
.Children(member => member.Episodes));
mappings.For<SMTXEFMVCModel.Episode>(binding => binding
.ItemDataBound((item, episode) =>
{
item.Text = episode.episodeID;
}));
})
)
Controller
public ActionResult TreeView()
{
var ctx = new SMTXContext();
var Contracts = ctx.Contracts.ToList();
return View(Contracts);
}
最佳答案
看起来问题是数据类型混淆。
item.Text = episode.episodeID;
应该是
item.Text = episode.episodeID.ToString();
然后它就可以完美地工作了。
关于c# - 使用 MVC 3.0 在 Telerik Treeview 中嵌套子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6833124/