Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.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
使用Javascript在Razor中按值排序 @foreach(测试中的var年份??新列表()) { }_Javascript_Razor - Fatal编程技术网

使用Javascript在Razor中按值排序 @foreach(测试中的var年份??新列表()) { }

使用Javascript在Razor中按值排序 @foreach(测试中的var年份??新列表()) { },javascript,razor,Javascript,Razor,我上面的代码从我的数据库中收集了一个年份列表。然而,它们不是按年度组织的。我认为Javascript是实现这一点的最佳方式,但我不确定如何编写Javascript,因此它会影响我的列表。您可以在Razor中简单地OrderBy(): <ul class="related_forms_list"> @foreach (var year in test.years ?? new List<YearsVM>()) { <l

我上面的代码从我的数据库中收集了一个年份列表。然而,它们不是按年度组织的。我认为Javascript是实现这一点的最佳方式,但我不确定如何编写Javascript,因此它会影响我的列表。

您可以在Razor中简单地
OrderBy()

 <ul class="related_forms_list">
    @foreach (var year in test.years ?? new List<YearsVM>())
        {
            <li><a href="@Url.Action("Test","Link", new { id=Year.Id })">@Year.Year</a></li>
        }
@foreach(var year in(test.years??new List()).OrderBy(x=>x.year))
(通过将
(test.years??new List())
封装在自己的括号中)


请参见

您已经在使用Razor进行迭代了,那么为什么不简单地
@foreach(var year in(test.years??new List()).OrderBy(x=>x.year))
?还有,
的目的是什么??new List()
当您知道在空列表上迭代时循环永远不会运行时?谢谢!我没有按订单做,因为这会把整个过程搞砸??新名单。我拿出了新的列表,添加了OrderBy,效果非常好!请把你的答案写在答案里,这样我就可以给它打上“真棒”的绿色复选标记了!
@foreach (var year in (test.years ?? new List<YearsVM>()).OrderBy(x => x.Year))