首先,我很抱歉问一个愚蠢的问题,这是因为我是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>
我得到的错误是
答案 0 :(得分:2)
发生这种情况的原因是因为您尚未将任何模型传递给视图。所以在Index
行动而不是:
return View();
做的:
return View(genre);
您已定义genre
列表变量,但您需要将其传递给视图。