利用C#(asp net)对表格进行简单排序

利用C#(asp net)对表格进行简单排序,c#,asp.net,C#,Asp.net,我有个问题。我创建了一个系统,管理员可以在其中添加、编辑或删除项目(本例中为社会成员)。我只需要按年份(上下:从旧到新)自动排序,无需选择或按钮。我试图在JavaScript的帮助下运行排序,但不幸的是,它不起作用。它成功地处理了用HTML编写的数据,但可能无法处理从数据库加载的数据(我就是这样)。老实说,我读了微软教程,但不明白。你能帮我按年度自动分类吗?非常感谢。下面列出了从数据库下载数据并向用户显示的所有代码 团队控制员: namespace Blog.Controllers {

我有个问题。我创建了一个系统,管理员可以在其中添加、编辑或删除项目(本例中为社会成员)。我只需要按年份(上下:从旧到新)自动排序,无需选择或按钮。我试图在JavaScript的帮助下运行排序,但不幸的是,它不起作用。它成功地处理了用HTML编写的数据,但可能无法处理从数据库加载的数据(我就是这样)。老实说,我读了微软教程,但不明白。你能帮我按年度自动分类吗?非常感谢。下面列出了从数据库下载数据并向用户显示的所有代码

团队控制员:

namespace Blog.Controllers {
    public class TeamController : Controller {
        private IRepository _repo;
        public TeamController(IRepository repo)
        { _repo = repo; }
        public IActionResult Index() {
            var team = _repo.GetAllPlayers();
            return View(team);
        }
    }    
}
模型中的Player.cs

namespace Blog.Models
{
    public class Player {
        public int Id { get; set; }
        public string NickName { get; set; } = "";
        public string Position { get; set; } = "";
        public string MemberSince { get; set; } = "";
        public string Category { get; set; } = "";
    }
}
index.cshtml(团队)

@model IEnumerable
昵称
位置
成员自
@foreach(模型中的var播放器){
@如果(@player.Category==“所有者”){
@玩家昵称
@球员,位置
@player.MemberSince
}
}
Repository.cs

public Player GetPlayer(int id)
        { return _ctx.Team.FirstOrDefault(p => p.Id == id); }
public List<Player> GetAllPlayers()
        { return _ctx.Team.ToList(); }
Player GetPlayer(int id);
List<Player> GetAllPlayers();
publicplayer-GetPlayer(int-id)
{return _ctx.Team.FirstOrDefault(p=>p.Id==Id);}
公共列表GetAllPlayer()
{return_ctx.Team.ToList();}
IRepository.cs

public Player GetPlayer(int id)
        { return _ctx.Team.FirstOrDefault(p => p.Id == id); }
public List<Player> GetAllPlayers()
        { return _ctx.Team.ToList(); }
Player GetPlayer(int id);
List<Player> GetAllPlayers();
Player-GetPlayer(int-id);
列出GetAllPlayer();

使用orderby和DateTime解析

public List<Player> GetAllPlayers()
        { return _ctx.Team.OrderBy(member => DateTime.Parse(member.MemberSince).Year).ToList(); }
public List GetAllPlayers()
{return_ctx.Team.OrderBy(member=>DateTime.Parse(member.MemberSince.Year).ToList();}

如果您想先使用最新的,您可以使用OrderByDesc。

如果我理解您的问题,您可以在返回
getAllPlayer()
的结果之前使用LINQ查询,例如
return\u ctx.Team.OrderBy(player=>player.MemberSince).toList()您是否尝试过使用OrderBy?另外,您要对哪个字段进行排序?它是
成员吗?如果是这样,您可以在DateTime而不是string上对soet执行
.OrderBy(member=>DateTime.Parse(member.MemberSince)
操作sort@Joe
OrderBy
应该在
ToList()
之前,因为
ToList()
之后的每个操作都在内存中完成。