Error al ejecutar la tienda de música Mvc

En primer lugar, lamento hacer una pregunta estúpida, esto se debe a que soy un novato en ASP.NET. Estoy siguiendo el tutorial de la tienda de música MVC de asp.net y esto es lo que hice:

 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();
        }

............

Clase de género

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

    }
}

Clase de álbum

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>

El error que recibo es esteenter image description here

preguntado el 16 de mayo de 11 a las 17:05

1 Respuestas

La razón por la que esto sucede es porque no ha pasado ningún modelo a la vista. Entonces en el Index acción en lugar de:

return View();

hacer:

return View(genre);

Has definido el genre list variable pero debe pasarla a la vista.

contestado el 16 de mayo de 11 a las 21:05

+1 ¡Gracias! Qué tonto soy. No sé cómo aprenderé MVC si cometo tales errores. Gracias de nuevo por una respuesta rápida. Me tomaré 9 minutos más, de modo que me permitirá aceptarlo como respuesta. - Chris

¿ASP.NET MVC Music Store es la forma correcta de aprender asp.net MVC o debería seguir otro tutorial? - Chris

@Chris, la tienda de música es un buen punto de partida. Además, no debe preocuparse por tales errores. Todo el mundo comete errores. La gente comete errores todo el tiempo y es mejor si se cometen durante el proceso de aprendizaje que cuando se enfrentan a problemas del mundo real. Así que no dude en preguntar si encuentra dificultades. - Darin Dimitrov

Muchas gracias por la motivación. - Chris

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.