我让我的控制器将数据从存储的 SQL 过程保存到 Viewdata 中
using (var SPOutput = command.ExecuteReader())
{
foreach (var row in SPOutput)
{
outputmodel.Add(new SP_Procedure_RESULTS.student()
{
student_id = (decimal)SPOutput4["student_id"],
age = (string)SPOutput4["age"],
course_id = (decimal)SPOutput4["course_id"],
building_no = (int)SPOutput4["building_no"],
room_id = (decimal)SPOutput4["room_id"],
status_id = (decimal)SPOutput4["status_id"],
});
}
ViewData["Output"] = outputmodel;
但我想以room_id(每行不同)顺序在我的视图中显示它们。我尝试将最后一行更改为
ViewData["Output"] = new SelectList(outputmodel.OrderBy(x => x.room_id).ToList());
但是,然后我的观点有误
System.NullReferenceException: 'Object reference not set to an instance of an object.'
在生产线上
@foreach (var item in ViewData["Output"] as IEnumerable<app.Models.SP_Procedure_RESULTS.student>)
有人可以告诉我如何更改视图数据的显示顺序吗?
谢谢
对于其他任何寻找答案的人,以及未来的我,控制器上有效的代码是:-
var order = outputmodel.OrderBy(c => c.room_no);
ViewData["Output"] = order;