Ошибка при запуске музыкального магазина Mvc - PullRequest
0 голосов
/ 16 мая 2011

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

 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>

Я получаю сообщение об ошибке enter image description here

1 Ответ

2 голосов
/ 16 мая 2011

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

return View();

сделать:

return View(genre);

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

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