【问题标题】:Iterating over a dataTable causes an issue遍历数据表会导致问题
【发布时间】:2020-06-06 07:12:39
【问题描述】:
@using System.Data
@Model  IEnumerable<ReportingTotalsViewModel>
...
                        <tbody>
                            @{
                                var dataTable = Model[0].Value;
                                foreach (DataRow row in dataTable)
                                {
                                    <tr>
                                        <td>@row["Month"]</td>
                                        <td>@row["# Issued"]</td>
                                        <td>@row["# Closed"]</td>
                                        <td>@row["% Closed"]</td>
                                    </tr>
                                }
                            }
                        </tbody>

从我的控制器,我通过了

var viewAndDataTable = new List<KeyValuePair<String, DataTable>>();
...
return View(viewAndDataTable);

在运行时,我收到此错误。

RuntimeBinderException:无法隐式转换类型 'System.Data.DataTable' 到 'System.Collections.IEnumerable'。一个 存在显式转换(您是否缺少演员表?)

【问题讨论】:

    标签: c# asp.net-core


    【解决方案1】:

    您在 dataTable 上错过了.Rows

    试试:

    
    
    @using System.Data
    @Model  IEnumerable<ReportingTotalsViewModel>
    ...
                            <tbody>
                                @{
                                    var dataTable = Model[0].Value;
                                    foreach (DataRow row in dataTable.Rows)
                                    {
                                        <tr>
                                            <td>@row["Month"]</td>
                                            <td>@row["# Issued"]</td>
                                            <td>@row["# Closed"]</td>
                                            <td>@row["% Closed"]</td>
                                        </tr>
                                    }
                                }
                            </tbody>
    

    【讨论】:

    • 我必须使用列名吗?我可以使用索引吗?
    • 因为它是KeyValuePair,所以通常最好使用Key 名称作为索引。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 2019-02-26
    • 2014-08-05
    相关资源
    最近更新 更多