无法解析符号电影

时间:2016-07-10 16:06:50

标签: c# asp.net-mvc

我有一个名为Movie的模型。我将创建一个电影列表并将其传递给视图。 这是控制器代码:

[Route("movies")]
public ActionResult AllMovies()
{
    var movies = new List<Movie>
    {
        new Movie {Name = "Sherek"},
        new Movie {Name = "Halk"},
        new Movie {Name = "detector Gadget "}
    };
    return View(movies);
}

这是视图代码:

@using vidly.Models
@model List<Movie>

@{
    ViewBag.Title = "AllMovies";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>AllMovies</h2>
<ul>
    @foreach (var movie in Model.movies)
    {
        <li>movie </li>
    }


</ul>

问题是它无法识别列表中的movies。在第Model.movies行中,我面临错误:

  

电影不包含电影定义,也不包含接受电影类型第一个参数的扩展方法电影   可以找到(你错过了使用指令或程序集   引用?)

4 个答案:

答案 0 :(得分:0)

您必须将foreach语句更改为此

@foreach (var movie in Model)
{
    <li>
        movie.Name
    </li>
}

答案 1 :(得分:0)

尝试将您的模型从List<Movie>更改为IEnumerable<Movie>

答案 2 :(得分:0)

将此代码复制到您的视图中,我认为它应该可以正常工作

@model List<Vidly.Models.Movie>
@{
    ViewBag.Title = "All Movies";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>AllMovies</h2>
<ul>
    @foreach (var movie in Model)
    {
        <li>@movie.Name</li>
    }
</ul>

答案 3 :(得分:0)

感谢@Stephen Muecke。

我有@model List<Movie>,它以某种方式表示Model = List<Movie>。 因此,要实现列表中的每部电影,我必须做到

foreach(var movie in Model)