Ошибка при запуске Mvc Music store

#asp.net-mvc-3

#asp.net-mvc-3

Вопрос:

Прежде всего, мне жаль задавать глупый вопрос, это потому, что я новичок в ASP.NET . Я следую asp.net Руководство по MVC music Store и вот что я сделал:

  namespace MvcMusicStore.Controllers
{
    public class StoreController : Controller
    {
        //
        // GET: /Store/

        public ActionResult Index()
        {
            var genre = new List<Genre>
            {
                new Genre{ Name = "Disco"},
                new Genre{ Name = "Jazz"},
                new Genre{ Name = "Rock"}
            };
            return View();
        }
  

…………

Класс жанра

 namespace MvcMusicStore.Models
{
    public class Genre
    {
        public string Name {get; set;}

    }
}
  

Класс альбома

 namespace MvcMusicStore.Models
{
    public class Album
    {
        public string Title { get; set; }
        public Genre Genre { get; set; }
    }
}
  

Index.cshtml

 @model IEnumerable<MvcMusicStore.Models.Genre>

@{
    ViewBag.Title = "Store";
}

<h2>Browse Genre</h2>

<p>Select from @Model.Count() genres:</p>
<ul>
    @foreach (var genre in Model)
    {
        <li>@genre.Name</li>
    }
</ul>
  

Ошибка, которую я получаю, заключается в следующемвведите описание изображения здесь

Ответ №1:

Причина, по которой это происходит, заключается в том, что вы не передали какую-либо модель в представление. Итак, в Index действии вместо:

 return View();
  

выполнить:

 return View(genre);
  

Вы определили genre переменную list, но вам нужно передать ее в представление.

Комментарии:

1. 1 Спасибо! Какой же я дурак. Я не знаю, как я буду изучать MVC, если буду допускать такие ошибки. Еще раз спасибо за быстрый ответ. Я потрачу еще 9 минут, что позволит мне принять это как ответ.

2. Является ASP.NET MVC Music store — правильный способ обучения asp.net MVC или я должен следовать другому руководству?

3. @Chris, музыкальный магазин — хорошая отправная точка. Также вам не стоит беспокоиться о таких ошибках. Ошибки бывают у всех. Люди постоянно совершают ошибки, и лучше, если они совершаются в процессе обучения, а не при решении каких-то реальных проблем. Поэтому не стесняйтесь спрашивать, если у вас возникнут трудности.

4. Большое спасибо за мотивацию.