为了账号安全,请及时绑定邮箱和手机立即绑定

在 ASP.NET MVC5 中将数据传递给 Razor 视图

在 ASP.NET MVC5 中将数据传递给 Razor 视图

C#
慕尼黑的夜晚无繁华 2021-08-07 15:31:00
我正在尝试学习 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>


查看完整回答
反对 回复 2021-08-07
  • 1 回答
  • 0 关注
  • 189 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信