加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 如何在ASP.NET Razor MVC4视图中使用LINQ?

发布时间:2020-12-16 06:23:32 所属栏目:asp.Net 来源:网络整理
导读:我有一个ASP.NET Razor MVC4视图,顶部有以下@using语句,在页面中包含LINQ. @using System.Linq 然后我有一个循环,我想访问System.Collections.Generic.Dictionary对象(@ Model.content)的内容的特定元素.在这种情况下, 元素1-最后. @for (int i = 1; i @Mode
我有一个ASP.NET Razor MVC4视图,顶部有以下@using语句,在页面中包含LINQ.

@using System.Linq

然后我有一个循环,我想访问System.Collections.Generic.Dictionary对象(@ Model.content)的内容的特定元素.在这种情况下,

元素1->最后.

@for (int i = 1; i < @Model.content.Count; i++)
    {
        <li class="bullet">
          @Model.content.ElementAt(i)
        </li>
    }

我收到以下错误.

‘System.Collections.Generic.Dictionary’ does not
contain a definition for ‘ElementAt’

在Razor视图中我需要做些什么才能使用LINQ?

我知道我可以使用foreach迭代所有元素,但在这种情况下需要访问特定元素.

解决方法

您可以为您的目的使System.Linq工作,但我强烈建议不要这样做.

最后,您将使用ElementAt多次迭代您的集合.随着您的收藏增长,性能将变得非常糟糕.

使用foreach循环并自己跟踪索引会好得多(请原谅剃刀语法,如果有点关闭):

@{ var counter = 0; }

@foreach(var kvp in @Model.content)
{
    @if(counter > 0){
        <li class="bullet">
            @kvp.Value
        </li>
    }
    @{ counter++; }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读