gpt4 book ai didi

c# - 在模型中声明列表

转载 作者:行者123 更新时间:2023-11-30 13:57:07 25 4
gpt4 key购买 nike

我有一个场景,我不想将模型作为 Ienumerable 列表传递到 Razor View 。

public class School
{
public int ID { get; set; }
public string Name { get; set; }
public string Address { get; set; }
}

我需要传递模型来查看,如下所示。

@model Doc.Web.Models.Common.School

不像

@model IEnumerable<Doc.Web.Models.Common.School>

所以,我在同一模型中贴标了一个列表

public class School
{
public School()
{
lstSchool = new List<School>();
}

public int ID { get; set; }
public string Name { get; set; }
public string Address { get; set; }

public List<School> lstSchool { get; set; }
}

然后在 Controller 中

public ActionResult Index()
{
School model= new School();
SchoolRepository rep = new SchoolRepository();
model.lstSchool= rep.GetData();//Read list of schools from database
return View(model);
}

这是实现这一目标的正确方法吗?

最佳答案

为什么要将 @model Doc.Web.Models.Common.School 传递给 View ?在 View 中需要“列表”的地方。

这是你可以尝试的东西......

类结构:创建一个 SchoolList 类

public class School
{
public int ID { get; set; }
public string Name { get; set; }
public string Address { get; set; }
}

public class SchoolList
{
public List<School> Schools { get; set; }
}

传递给 View :

@model Doc.Web.Models.Common.SchoolList

Controller :

public ActionResult Index()
{
SchoolList model= new SchoolList();
SchoolRepository rep = new SchoolRepository();

//Read list of schools from database
model.Schools = rep.GetData();

return View(model);
}

因此,您无需将 IEnumerable 传递给 View 即可完成工作。

关于c# - 在模型中声明列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22661244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com