【问题标题】:how to show a single value of column razor view如何显示列剃刀视图的单个值
【发布时间】:2016-07-20 20:42:11
【问题描述】:

这是我的标记

    <td class="subtotal">@Model.Where(s=>s.wcc.xyz=="abc").Select(s=>s.targetxyz.wcc)</td>
    <td class="subtotal">@Model.Where(s=>s.wcc.xyz=="abc").Sum(s=>s.wcc.col1)</td>
   <td class="subtotal">@Model.Where(s=>s.wcc.xyz=="abc").Sum(s=>s.wcc.col2)</td>
    <td class="subtotal">@Model.Where(s=>s.wcc.xyz=="abc").Sum(s=>s.wcc.col3)</td>
    <td class="subtotal">@Model.Where(s=>s.wcc.xyz=="abc").Sum(s=>s.wcc.col4)</td>
    <td class="subtotal">@Model.Where(s=>s.wcc.xyz=="abc").Sum(s=>s.wcc.col5)</td>
    <td class="subtotal">@Model.Where(s=>s.wcc.xyz=="abc").Sum(s=>s.wcc.col6)</td>
    <td class="subtotal">@Model.Where(s=>s.wcc.xyz=="abc").Sum(s=>s.wcc.col7)</td>
    <td class="subtotal">@Model.Where(s=>s.wcc.xyz=="abc").Sum(s=>s.wcc.col8)</td>

</tr>

我的查询

var data =
             from b in re.wccs
             join t in re.targetxyz on b.xyz equals t.dname
             select new val { wcc = b, targetxyz = t };


        return View(data);

我的错误

System.Linq.Enumerable+WhereSelectEnumerableIterator`2[db.Models.val,System.Int32]

我可以用 sum 加载所有列,但是在 select 命令的地方我得到了这个错误。

为什么有什么建议?

【问题讨论】:

  • 在第一行,Select(...) 的输出是可枚举的,而不是单个对象。
  • 我如何在那里写单个对象?

标签: select razor view


【解决方案1】:

您将需要使用 First 或 Single 来获取该值,并且可能需要对数据进行一些排序(因为不确定您要在此处显示什么)

例如

    @Model.Where(s=>s.wcc.xyz=="abc").Select(s=>s.targetxyz.wcc).FirstOrDefault()

    @Model.Where(s=>s.wcc.xyz=="abc").Select(s=>s.targetxyz.wcc).SingleOrDefault()

在此处阅读以了解单人与第一人的区别: LINQ Single vs First

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-12
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 2021-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多