Мой оператор foreach выводит 2 ошибки - PullRequest
0 голосов
/ 22 мая 2019

Когда я пытаюсь вывести таблицу с оператором foreach, выводятся 2 ошибки, говорящие о том, что 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>

Это часть файла 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);
}

Он выводит эти 2 ошибки о foreach:

"Тип или пространство имен" EmployeeViewModel'не существует в пространстве имен' WebApplication3.Models '(вам не хватает ссылки на сборку?) "

и

" Имя MovieVM не существуетв текущем контексте "

Ответы [ 2 ]

2 голосов
/ 22 мая 2019

Вы должны определить тип модели в представлении.

@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>
}

sample: https://dotnetfiddle.net/GA0yHD

0 голосов
/ 22 мая 2019

Имеет ли это соединение с БД какое-либо отношение к ошибке?

 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);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...