积极答复者
问一个关于 mvc 排序的问题

问题
-
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的值。
这个是为什么有什么地方不对嘛,代码也不复杂怎么会这样。
- 已编辑 cpp_1 2016年5月10日 7:42
答案
-
你好 CPP_1,
var tab = db.Students;
这代码执行完tab对象的数据类型就是System.Data.Entity.DbSet<Student>.
tab = tab.OrderByDescending(a => a.ID).ToList();
ToList后的数组就List<Student>,它是无法隐式转化成System.Data.Entity.DbSet<Student>的。
解决办法其实很简单 , 直接写成一条语句就可以了。
var tab= db.Studnets.OrderByDescending(a=>a.ID).ToList();
OrderByDescending 这个方法的定义上写了有返回值的,如果你不接收返回值的话,就相当于白做了一次排序。
希望能够帮到你。
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click HERE to participate the survey.- 已标记为答案 cpp_1 2016年5月15日 15:17
全部回复
-
tab = tab.OrderByDescending(a => a.ID).ToList();
-
你好 CPP_1,
var tab = db.Students;
这代码执行完tab对象的数据类型就是System.Data.Entity.DbSet<Student>.
tab = tab.OrderByDescending(a => a.ID).ToList();
ToList后的数组就List<Student>,它是无法隐式转化成System.Data.Entity.DbSet<Student>的。
解决办法其实很简单 , 直接写成一条语句就可以了。
var tab= db.Studnets.OrderByDescending(a=>a.ID).ToList();
OrderByDescending 这个方法的定义上写了有返回值的,如果你不接收返回值的话,就相当于白做了一次排序。
希望能够帮到你。
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click HERE to participate the survey.- 已标记为答案 cpp_1 2016年5月15日 15:17