Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在asp.net razor中对表进行排序_C#_Asp.net Mvc_Razor - Fatal编程技术网

C# 如何在asp.net razor中对表进行排序

C# 如何在asp.net razor中对表进行排序,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,作为标题,我想对数据表进行排序 我想从当前日期时间排序--->传递日期时间 我是这方面的新手,请帮助:) 多谢各位 这是我的密码 <table class="table"> <tr> <th> @Html.DisplayNameFor(model => model.SectorID) </th> . . . <

作为标题,我想对数据表进行排序 我想从当前日期时间排序--->传递日期时间 我是这方面的新手,请帮助:) 多谢各位

这是我的密码

<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.SectorID)
        </th>
        .
        .
        .
        <th>
            @Html.DisplayNameFor(model => model.DateTime)
        </th>
        <th></th>
    </tr>
@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.SectorID)
        </td>
        .
        .
        .
        <td>
            @Html.DisplayFor(modelItem => item.DateTime)
        </td>
        <td>
            @Html.ActionLink("Details", "Details", new { id=item.ID }) |
            @Html.ActionLink("Delete", "Delete", new { id=item.ID })
        </td>
    </tr>
}

@DisplayNameFor(model=>model.SectorID)
.
.
.
@DisplayNameFor(model=>model.DateTime)
@foreach(模型中的var项目){
@DisplayFor(modelItem=>item.SectorID)
.
.
.
@DisplayFor(modelItem=>item.DateTime)
@ActionLink(“详细信息”,“详细信息”,新的{id=item.id})|
@ActionLink(“删除”,“删除”,新的{id=item.id})
}

只需在新的orderedCollection中订购模型,您可以查看此集合
或者你可以在你的控制器上做一些事情

看法

   @{    
        var modelOrdered = Model.OrderByDescending(m=>m.DateTime);                                                         
     }
控制器

var model = context.collections.OrderByDescending(m => m.DateTime);
return View(model);
//这里只是重复一下

@foreach (var item in modelOrdered) {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.SectorID)
            </td>
            .
            .
            .
            <td>
                @Html.DisplayFor(modelItem => item.DateTime)
            </td>
            <td>
                @Html.ActionLink("Details", "Details", new { id=item.ID }) |
                @Html.ActionLink("Delete", "Delete", new { id=item.ID })
            </td>
        </tr>
    }
@foreach(modelOrdered中的变量项){
@DisplayFor(modelItem=>item.SectorID)
.
.
.
@DisplayFor(modelItem=>item.DateTime)
@ActionLink(“详细信息”,“详细信息”,新的{id=item.id})|
@ActionLink(“删除”,“删除”,新的{id=item.id})
}

视图不是处理数据的正确位置。您应该在负责此视图的控制器方法中进行排序

//this is where you fetch your data. Just add an .OrderBy or .OrderByDescending
var data = context.SomeEntity.OrderByDescending(ent => ent.DateTime);
return View(data);

@任何否决票都应该得到解释他说从当前日期到过期日期时间我按照@K.B告诉我的做了,但我用ID排序,因为如果我用datetime排序,它不起作用。可能是因为datetime变量的类型是datetime,但ID的类型是int,所以:)没有理由不使用datetime,你可以更明确一点吗?我不知道为什么我使用ID,因为我的ID是自动运行编号,而我的datetime是datetime。现在,如果我使用最后一个ID编号,意味着我使用了当前的datetime:比较所有记录具有相同的datetime.Now,因此很明显,您不能按datetime排序