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