这是我的场景:我们希望有一个列出捐赠者的页面,这取决于查看页面的用户,我们希望按捐赠者的捐赠级别或只是他们的排序名称进行分组。让我感到困惑的是,我们想对匿名捐赠者进行分组,并根据分组进行计数。
在我的控制器中,我有
[HttpGet]
public ActionResult Society(string id)
{
var society = _db.ONLINEDR_DONOR_LIST
.Include("ONLINEDR_DONORS")
.Single(s => s.DONOR_LIST_ID == id);
var donors = _db.ONLINEDR_DONORS
.Where(d => d.DONOR_LIST_ID == id)
.OrderBy(d => d.SUBGROUP_SORT)
.ThenBy(d => d.SORT_NAME)
.ToList();
if (User.Identity.Name == "public")
{
//First off, check to make sure the list is viewable.
if (society.PUBLIC_IND == "N")
RedirectToAction("Index", "Home");
donors = _db.ONLINEDR_DONORS
.Where(d => d.DONOR_LIST_ID == id)
.OrderBy(d => d.SORT_NAME)
.ToList();
}
var viewModel = new SocietyDetailViewModel()
{
Society = society,
Donors = donors
};
return View(viewModel);
}
我想要类似的东西
donors = _db.ONLINEDR_DONORS
.Where(d => d.DONOR_LIST_ID == id)
.GroupBy(d => d.SORT_NAME)
.ToList();
我可以将其传递给我的视图,然后以某种方式显示在视图中
<% if (Model.donor.GroupedByItemCount > 1) { %>
<%: Model.donor.GroupedByItemCount %>
<% } %
(我还是 asp.net MVC 和 LINQ 的新手,所以任何有用的参考资料来解释我做错了什么也将不胜感激)。
非常感谢。