Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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# 在.cshtml文件中以DD/MM/YYYY格式对DateTime对象排序_C#_Asp.net Mvc_Asp.net Mvc 4_Datetime_Razor - Fatal编程技术网

C# 在.cshtml文件中以DD/MM/YYYY格式对DateTime对象排序

C# 在.cshtml文件中以DD/MM/YYYY格式对DateTime对象排序,c#,asp.net-mvc,asp.net-mvc-4,datetime,razor,C#,Asp.net Mvc,Asp.net Mvc 4,Datetime,Razor,目前,我在.cshtml文件中有一个for循环,该循环遍历ViewBag中的项目。我想根据Order.cs文件中名为orderDate的DateTime属性对这些对象进行排序。.cshtml文件中的for循环如下所示: <table id="order-history-table" class="table table-hover"> <thead> <tr> <th> Order Number

目前,我在.cshtml文件中有一个for循环,该循环遍历ViewBag中的项目。我想根据Order.cs文件中名为orderDate的DateTime属性对这些对象进行排序。.cshtml文件中的for循环如下所示:

<table id="order-history-table" class="table table-hover">
<thead>
    <tr>
        <th>
            Order Number
        </th>
        <th>
            Order Date
        </th>
        <th>
            Order Total
        </th>
    </tr>
</thead>
<tbody>
    @foreach (var item in ViewBag.list)
    {
        <tr>
            <td>
                <a class="orderNumber" data-toggle="modal" data-target="#modal-container" href="@Url.Action("orderDetails", "Orders", new { orderNumber = item.order.OrderNumber })">@item.order.OrderNumber</a>
                <br />
                @Html.ActionLink("Re-Order", "ReOrder", new { orderNumber = @item.order.OrderNumber }, new { onclick = "return confirm('Are you sure you wish to re-order?');"  })
            </td>
            <td>@item.order.OrderDate.ToString("dd/MM/yyyy")</td>
            <td style="text-align: center">$@(Math.Round(item.order.OrderTotal, 2))</td>
        </tr>
    }
</tbody>

订单号
订购日期
订单总数
@foreach(ViewBag.list中的变量项)
{

@ActionLink(“重新订购”,“重新订购”,新建{orderNumber=@item.Order.orderNumber},新建{onclick=“return confirm('您确定要重新订购吗?');”) @item.order.OrderDate.ToString(“dd/MM/yyyy”) $@(Math.Round(item.order.OrderTotal,2)) }

我希望对该表进行排序,以便在表的顶部显示最近的订单。由于数据是从数据库中提取的,并且表值是动态生成的,所以我在哪里执行这种排序?是通过jQuery完成的吗?我该怎么做

提前感谢您

您可以使用LINQ来完成此操作

因此,在设置ViewBag.list的操作方法中,可以对集合使用
OrderByDescending
方法

var yourOrderList=new List<Order>();
// to do : Load Order items to yourOrderList
yourOrderList=yourOrderList.OrderByDescending(f=>f.OrderDate).ToList();
ViewBAg.list=yourOrderList;
var yourOrderList=new List();
//待办事项:将订单项目加载到您的订单列表
yourOrderList=yourOrderList.OrderByDescending(f=>f.OrderDate.ToList();
ViewBAg.list=您的订单列表;
我还建议使用视图模型将数据从动作方法传递到视图

var yourOrderList=new List<Order>();
// to do  : Add orders to yourOrderList
yourOrderList=yourOrderList.OrderByDescending(f=>f.OrderDate).ToList();
return View(yourOrderList);
var yourOrderList=new List();
//要做的事情:将订单添加到您的订单列表中
yourOrderList=yourOrderList.OrderByDescending(f=>f.OrderDate.ToList();
返回视图(您的订单列表);
在你看来

@model List<Order>
<h3>Orders</h3>
@foreach(var o in Model)
{
  <p>@o.OrderDate.ToString()</p>
}
@型号列表
命令
@foreach(模型中的var o)
{
@o、 OrderDate.ToString()

}
因为您的视图是强类型的,所以您也可以根据需要在razor视图中执行相同的排序

@model List<Order>
<h3>Orders</h3>
@foreach(var o in Model.OrderByDescending(g=>g.OrderDate))
{
  <p>@o.OrderDate.ToString()</p>
}
@型号列表
命令
@foreach(Model.OrderByDescending(g=>g.OrderDate)中的变量o)
{
@o、 OrderDate.ToString()

}
在控制器中对其进行排序(例如,在linq查询中使用
.OrderByDescending()
)。并且不要使用
ViewBag
-将模型传递给视图