我想从Model中查看项目列表,但我没有得到Exact Idea of That 请帮我 我正在添加我的所有课程
下面
public class DivisionDTO
{
public Guid Id { get; set; }
public string Name { get; set; }
public List<GroupDTO> Groups { get; set; }
}
public class GroupDTO
{
public Guid Id { get; set; }
public string Name { get; set; }
public List<Team> Teams { get; set; }
}
public class Team
{
public int ID { get; set; }
public string TeamName { get; set; }
public int GroupId { get; set; }
public int DivisionId { get; set; }
public string pld { get; set; }
public string W { get; set; }
public string D { get; set; }
public string L { get; set; }
public string GF { get; set; }
public string GA { get; set; }
public string GD { get; set; }
public string Pts { get; set; }
}
模型本身是一个项目列表,每个项目也包含子项目列表。 在DivisionDTO类列表中,GroupDTO值存在,而在GroupDTO类中,Team值是
我的控制器代码正在关注
public ActionResult EditGroup()
{
CreatingLeague.Models.DivisionDTO division = new CreatingLeague.Models.DivisionDTO();
division.Id = new Guid();
division.Name = "Div";
division.Groups = new List<CreatingLeague.Models.GroupDTO>();
CreatingLeague.Models.Team team = new Models.Team();
team.TeamName = "TeamA";
division.Groups.Add(new CreatingLeague.Models.GroupDTO() { Id = new Guid(), Name = "G1", Teams = new List<Team>() { team } });
return View(division);
}
我想制作一个编辑页面,任何人都可以告诉我
答案 0 :(得分:2)
您可以在剃须刀视图中循环各个组。
@model DivisionDTO
@for (var i = 0; i < Model.Groups.Count(); i++) {
@Html.EditorFor(m => m.Groups[i].Name)
@for (var j = 0; j < Model.Groups[i].Teams.Count(); j++) {
@Html.EditorFor(m => m.Groups[i].Teams[j].TeamName)
}
}
不要使用foreach
,因为MVC模型绑定器需要索引i
,j
。
您的POST操作可以将DivisonDto
作为模型,子集合将具有数据。
[HttpPost]
public ActionResult Save(DivisonDto model) {
var firstGroupName = model.Groups[0].Name;
// ...
}