【发布时间】:2014-09-10 14:29:26
【问题描述】:
我正在为平面表创建树视图。我有一个 linq 查询,它从列中返回所有不同的值
public ActionResult Index()
{
var result = (from i in db.Items
select i.GeoName)
.Distinct()
.OrderBy(n => n);
return View(result);
}
这当然会返回一个带有我的起始节点的视图(假设是“Node1”、“Node2”和“Node3”)。
然后我想让用户点击一个节点,并返回该列的内容。
你如何动态地做到这一点?
我希望它像以下那样简单(很可能,我不知道 - LINQ newb!):
public ActionResult Index()
{
var result = (from i in db.Items
select i.passedInColumnName)
.Distinct()
.OrderBy(n => n);
return View(result);
}
与往常一样,在此先感谢各位乐于助人的人。
【问题讨论】:
-
查看动态 LINQ
-
您肯定总是希望返回相同的列(即
select),但又想限制返回的范围(即应用where子句)? -
一种更简单的方法可能是在初始视图中加载您想要的所有列,并根据节点单击显示或隐藏列,而不是每次调用索引
-
不幸的是,这是一张巨大的桌子。加载所有字段需要很长时间,我通过 ajax 加载取决于单击的节点。
-
@theDarse - 我实际上没有返回相同的列(在第一个节点中,我正在显示名为“GeoNode”的列中包含的不同值)。然后,根据选择的节点,我想显示与该节点对应的列中包含的所有不同值。