我正在尝试学习 ASP.NET 并尝试一些基本的东西,比如将硬编码数据传递给 Razor 视图。我在模型中有一个简单的类:public class Customer { public int Id { get; set; } public string Name { get; set; } }在我的客户控制器中,我有这样的代码: 基本上,我只是制作一个可枚举的硬编码客户列表,执行一个简单的 get 方法并在 /customers 的 get 路由中调用该方法public class CustomersController : Controller { // GET: Customers public ActionResult Index() { var customers = GetCustomers(); return View(customers); } public IEnumerable<Customer> GetCustomers() { return new List<Customer> { new Customer { Id = 1, Name = "Peter Parker" }, new Customer { Id = 2, Name = "Eddie Brock" }, new Customer { Id = 3, Name = "Mary Jane" }, }; } }}在我的 Razor 视图中,我引入模型并尝试遍历客户并将它们打印在列表中。不确定我做错了什么,因为智能不会提出任何问题。我不能在 li 中说像 @customer.Name。如果我将鼠标悬停在 @foreach 块中的 Model.Customer 上,它会说没有客户的定义。@model Vidly.Models.Customer@{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml";}<ul> @foreach(var customer in Model.Customers) { <li>@customer</li> }</ul>
1 回答
烙印99
TA贡献1829条经验 获得超13个赞
该GetCustomers()方法返回一个对象集合,Customer您将该集合传递给视图。所以你的视图应该是强类型的集合Customer对象。您当前的代码说它需要一个 Customer 对象。
将其更改为强类型Customer对象集合,然后在您的视图中,您可以循环Model,它是一个集合(您可以遍历一个集合)。
@model List<Vidly.Models.Customer>
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<ul>
@foreach(var customer in Model)
{
<li>@customer.Id</li>
<li>@customer.Name</li>
}
</ul>
- 1 回答
- 0 关注
- 189 浏览
添加回答
举报
0/150
提交
取消