Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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
C# 我的foreach语句输出了2个错误_C#_Asp.net_Asp.net Mvc_Razor - Fatal编程技术网

C# 我的foreach语句输出了2个错误

C# 我的foreach语句输出了2个错误,c#,asp.net,asp.net-mvc,razor,C#,Asp.net,Asp.net Mvc,Razor,当我试图用foreach语句输出一个表时,它会输出两个错误,表示MovieViewModel和MovieVM不存在 这是Index.cshtml文件的一部分: @foreach (MovieViewModel item in MovieVM) { <tr> <td>@item.MovieName</td> <td>@item.MovieCategory</td> <td>@

当我试图用foreach语句输出一个表时,它会输出两个错误,表示MovieViewModel和MovieVM不存在

这是Index.cshtml文件的一部分:

  @foreach (MovieViewModel item in MovieVM)
  {
    <tr>
      <td>@item.MovieName</td>
      <td>@item.MovieCategory</td>
      <td>@item.MovieYear
      <td>@item.MoviePrice</td>
    </tr>
  }
</table>
@foreach(MovieVM中的MovieViewModel项)
{
@item.MovieName
@项目.电影类别
@项目.电影年
@项目.电影价格
}
这是MoviesController.cs文件的一部分:

  List<MovieViewModel> MovieVM = new List<MovieViewModel>
  {
    new MovieViewModel {
      MovieID = movie.MovieID,
      MovieName = movie.MovieName,
      MovieDescription = movie.MovieDescription,
      MoviePrice = movie.MoviePrice,
      MovieCategory = movie.MovieCategory,
      MovieYear = movie.MovieYear
    },
  };

  return View(MovieVM);
}
List MovieVM=新列表
{
新电影视图模型{
MovieID=movie.MovieID,
MovieName=movie.MovieName,
MovieDescription=movie.MovieDescription,
MoviePrice=movie.MoviePrice,
MovieCategory=movie.MovieCategory,
MovieYear=movie.MovieYear
},
};
返回视图(MovieVM);
}
它会输出有关
foreach
的以下两个错误:

中不存在类型或命名空间“EmployeeViewModel” 命名空间“WebApplication3.Models”(是否缺少程序集 参考?“

“名称“MovieVM”在当前上下文中不存在”


必须在视图中定义模型类型

@model IEnumerable<MovieViewModel>

@foreach (var item in Model)
{
   <tr>
    <td>@item.MovieName</td>
    <td>@item.MovieCategory</td>
    <td>@item.MovieYear</td>
    <td>@item.MoviePrice</td>
   </tr>
}
@model IEnumerable
@foreach(模型中的var项目)
{
@item.MovieName
@项目.电影类别
@项目.电影年
@项目.电影价格
}

示例:

必须在视图中定义模型类型

@model IEnumerable<MovieViewModel>

@foreach (var item in Model)
{
   <tr>
    <td>@item.MovieName</td>
    <td>@item.MovieCategory</td>
    <td>@item.MovieYear</td>
    <td>@item.MoviePrice</td>
   </tr>
}
@model IEnumerable
@foreach(模型中的var项目)
{
@item.MovieName
@项目.电影类别
@项目.电影年
@项目.电影价格
}

示例:

此DB连接是否与错误有关

 public ActionResult Index()
    {
        PAPEntities db = new PAPEntities();
        MoviesData movie = db.MoviesData.SingleOrDefault(x => x.MovieID == 1);

        List<MovieViewModels> MovieVM = new List<MovieViewModels>
            {
                new MovieViewModels {
                 MovieID = movie.MovieID,
                 MovieName = movie.MovieName,
                 MovieDescription = movie.MovieDescription,
                 MoviePrice = movie.MoviePrice,
                 MovieCategory = movie.MovieCategory,
                 MovieYear = movie.MovieYear
                    },
        };


        return View(MovieVM);
    }
}
public ActionResult Index()
{
PAPEntities db=新的PAPEntities();
MoviesData movie=db.MoviesData.SingleOrDefault(x=>x.MovieID==1);
List MovieVM=新列表
{
新的MoviewModels{
MovieID=movie.MovieID,
MovieName=movie.MovieName,
MovieDescription=movie.MovieDescription,
MoviePrice=movie.MoviePrice,
MovieCategory=movie.MovieCategory,
MovieYear=movie.MovieYear
},
};
返回视图(MovieVM);
}
}

此DB连接是否与错误有关

 public ActionResult Index()
    {
        PAPEntities db = new PAPEntities();
        MoviesData movie = db.MoviesData.SingleOrDefault(x => x.MovieID == 1);

        List<MovieViewModels> MovieVM = new List<MovieViewModels>
            {
                new MovieViewModels {
                 MovieID = movie.MovieID,
                 MovieName = movie.MovieName,
                 MovieDescription = movie.MovieDescription,
                 MoviePrice = movie.MoviePrice,
                 MovieCategory = movie.MovieCategory,
                 MovieYear = movie.MovieYear
                    },
        };


        return View(MovieVM);
    }
}
public ActionResult Index()
{
PAPEntities db=新的PAPEntities();
MoviesData movie=db.MoviesData.SingleOrDefault(x=>x.MovieID==1);
List MovieVM=新列表
{
新的MoviewModels{
MovieID=movie.MovieID,
MovieName=movie.MovieName,
MovieDescription=movie.MovieDescription,
MoviePrice=movie.MoviePrice,
MovieCategory=movie.MovieCategory,
MovieYear=movie.MovieYear
},
};
返回视图(MovieVM);
}
}


MovieVM中的MovieViewModel项
毫无意义。MovieVM是在动作方法中声明的,而不是在视图中声明的。它们是不同的背景。我猜你可能想访问模型?在这种情况下,请在模型中使用
MovieViewModel项
至于另一个错误,您显示的代码在任何地方都没有提到
EmployeeViewModel
,因此问题一定来自您未显示的内容。错误应该告诉您发生错误的行号。无论如何,听起来您可能在视图中缺少使用语句的
。或者您输入了一个错误的类,您可能会将缺少的名称空间添加到视图文件夹
中的
web.config
,我也无法理解您是如何获得
EmployeeViewModel
的。除非你在你的观点中提到了这一点,或者正如@ADyson所说的那样,我将MovieVM更改为Model,并且错误消失了,但另一个仍然没有修复。它一直在说它缺少一个参考。导致我出现此错误的是某个using语句吗?
MovieVM中的MovieViewModel项
毫无意义。MovieVM是在动作方法中声明的,而不是在视图中声明的。它们是不同的背景。我猜你可能想访问模型?在这种情况下,请在模型中使用
MovieViewModel项
至于另一个错误,您显示的代码在任何地方都没有提到
EmployeeViewModel
,因此问题一定来自您未显示的内容。错误应该告诉您发生错误的行号。无论如何,听起来您可能在视图中缺少使用
语句的
。或者您输入了一个错误的类,您可能会将缺少的名称空间添加到视图文件夹
中的
web.config
,我也无法理解您是如何获得
EmployeeViewModel
的。除非你在你的观点中提到了这一点,或者正如@ADyson所说的那样,我将MovieVM更改为Model,并且错误消失了,但另一个仍然没有修复。它一直在说它缺少一个参考。我的代码与你的代码非常相似,唯一的区别是在控制器中,我从数据库获取数据,而不是自定义的。有什么我必须改变的Being数据库数据吗?也许是目录什么的?嗨,DiogoTeixeira。真正的区别在于观点。我声明一个
IEnumerable
@model
,并对
model
进行foreach,而不是
MovieVM
(您的变量名)。视图不知道控件中声明的变量。我已经尝试过很多次了,出现了相同的错误,我在模型中有@model IEnumerable和var项,但它仍然只输出1条记录。@Diogoteixera有多少条记录返回数据库?在本例中,您可以看到如何呈现所有记录。现在显示1条记录不是以前的错误更新,我正在尝试创建一个详细信息视图