Название 'movieGenre' не существует в текущем контексте - PullRequest
0 голосов
/ 31 октября 2011

Пишу проект ASP.NET MVC 3 для обслуживания видеомагазина.Я добавляю класс CRUD MovieController и добавляю в него функцию поиска.Но я получаю сообщение об ошибке: «имя« movieGenre »не существует в текущем контексте» для метода.Вот код:

public ActionResult SearchIndex(string searchString)
{
    var GenreList = new List<string>();
    var GenreQuery = from d in db.Movies
                     orderby d.Genre
                     select d.Genre;
    GenreList.AddRange(GenreQuery.Distinct());
    ViewBag.movieGenre = new SelectList(GenreList);

    var movies = from m in db.Movies select m;

    if (!String.IsNullOrEmpty(searchString))
    {
        movies = movies.Where(s => s.Title.Contains(searchString));
    }

    if (string.IsNullOrEmpty(ViewBag.movieGenre))
    {
        return View(movies);
    }
    else
    {
        return View(movies.Where(x => x.Genre == movieGenre));
    }

    return View(movies);
}

Для последнего фильма жанра я получаю эту ошибку.

Ответы [ 3 ]

1 голос
/ 01 ноября 2011

Если вы хотите использовать список выбора, вы должны использовать ViewData вместо ViewBag.

 ViewData["Genre"] = new SelectList(GenreList);
0 голосов
/ 04 декабря 2011

У вас ошибка в объявлении метода. У вас есть:

public ActionResult SearchIndex(string searchString)

Должно быть:

public ActionResult SearchIndex(string movieGenre, string searchString)
0 голосов
/ 31 октября 2011

Нет переменной movieGenre.

Вы имеете в виду ViewBag.movieGenre.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...