使用剃须刀循环遍历 MVC 5 中的多个模型

Loop through multiple models in MVC 5 using razor

我正在设置从数据 table 中填充的 ViewData.Model。在我看来,我正在循环显示数据的 ViewData.Model。我正在尝试创建一个 second ViewData.Model 并做同样的事情。我该如何做到这一点?我有第一个可用的 ViewData.Model 的代码。如果您继续往下看,我尝试设置第二个 ViewData.Model 但我无法在视图中显示数据...

控制器工作 ViewData.Model

var dataTable = new DataTable();
dataTable.Load(reader);
ViewData.Model = dataTable.AsEnumerable();

查看工作ViewData.Model

@foreach (var item in ViewData.Model)
{
   @item["ACCT_ID"]
}

第二个控制器ViewData.Model

var dataTable = new DataTable();
dataTable.Load(dataReader);
ViewData["scheduledDate"] = dataTable.AsEnumerable();

用第二个ViewData.Model查看拉动但不起作用

@foreach (var item in ViewData["scheduledDate"] )
{
    @item["DATE_ID"]
}

更新 - 工作秒 ViewData.Model 感谢@teo van kot,我现在可以用我的第二个 ViewData.Model 显示内容。这是我认为有效的代码...

 @foreach (var item in (IEnumerable<System.Data.DataRow>)ViewData["scheduledDate"])
    {
        @item["DATE_ID"]
    }

如果您使用 ViewData,您应该将您的模型转换为您的类型。

像这样:

@foreach (var item in (IEnumerable<YourType>)ViewData["scheduledDate"] )
{
    @item["DATE_ID"]
}

只需将 YourType 更改为您实际拥有的类型,这样就可以了