C# 我的foreach语句输出了2个错误
当我试图用foreach语句输出一个表时,它会输出两个错误,表示MovieViewModel和MovieVM不存在 这是Index.cshtml文件的一部分: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 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条记录不是以前的错误更新,我正在尝试创建一个详细信息视图