问一下,关于MVC 排序的问题

cpp_1 2016-05-10 08:35:56
Student表

表结构:[ID] ,[LastName] ,[FirstMidName]
=========================================================
在controller里面

public ActionResult Index()
{
var tab = db.Students;

tab.OrderByDescending(a => a.ID).ToList();

// return View(db.Students.OrderByDescending(a => a.ID).ToList()); -》这一行可以正常显示倒序

return (tab);-》这个就是正序显示
}
===================================================

前台绑定的时候model里面的数据集是一个倒序,但foreach里面第一次读的item里面的值,居然是正序的第一行,我想问一下,这个是一个什么情况

@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.LastName)
</td>
</tr>
}



第一次foreach的时候,居然取的ID不是modi里面第一行的ID=8的值。

这个是为什么有什么地方不对嘛,代码也不复杂怎么会这样。

...全文
114 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Xanl 2016-05-12
  • 打赏
  • 举报
回复
因为这一行tab.OrderByDescending(a => a.ID).ToList(); 的数据没有返回给tab、所以tab是排序之前的值 注释的一行就是把排序后的返回值传递给View了
Xanl 2016-05-12
  • 打赏
  • 举报
回复
你可以这样试试

public ActionResult Index()
        {
            var tab = db.Students;
            var newtab =  tab.OrderByDescending(a => a.ID).ToList();
            return (newtab );
        }
正怒月神 版主 2016-05-11
  • 打赏
  • 举报
回复
var tab = db.Students; tab.OrderByDescending(a => a.ID).ToList(); 不要分开来。 var tab = db.Students.OrderByDescending(a => a.ID).ToList();
wireboy 2016-05-11
  • 打赏
  • 举报
回复
666666
tptptp00 2016-05-11
  • 打赏
  • 举报
回复
tab.OrderByDescending(a => a.ID).ToList() 和tab根本就不是一个对象啊大兄弟 一个list一个queryable
masanaka 2016-05-10
  • 打赏
  • 举报
回复
tab = tab.OrderByDescending(a => a.ID).ToList(); i guess so.

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧