Asp.net core Razor页面主控细节示例

Asp.net core Razor页面主控细节示例,asp.net-core,razor,razor-pages,Asp.net Core,Razor,Razor Pages,亲爱的 假设我有一个父表和子表(1对多),我想在同一页中添加父表和所有他的详细信息以及他的子表(1或更多),任何示例都将非常感谢,我也在使用EF下面是一个非常简单的演示 型号: public class Parent { public Parent() { Id = 1; Name = "Parent1"; Age = 38; Children = new List<Child>

亲爱的


假设我有一个父表和子表(1对多),我想在同一页中添加父表和所有他的详细信息以及他的子表(1或更多),任何示例都将非常感谢,我也在使用EF

下面是一个非常简单的演示

型号:

public class Parent
{
    public Parent()
    {
        Id = 1;
        Name = "Parent1";
        Age = 38;

        Children = new List<Child>
        {
            new Child{ Id = 1, Name = "child1", Age = 6},
            new Child{ Id = 2, Name = "child2", Age = 7},
            new Child{ Id = 3, Name = "child3", Age = 10}
        };
    }
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
    public List<Child> Children { get; set; }
}

public class Child
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
}
公共类父类
{
公共家长()
{
Id=1;
Name=“Parent1”;
年龄=38岁;
儿童=新列表
{
新子女{Id=1,Name=“child1”,年龄=6},
新孩子{Id=2,Name=“child2”,年龄=7},
新孩子{Id=3,Name=“child3”,年龄=10}
};
}
公共int Id{get;set;}
公共字符串名称{get;set;}
公共整数{get;set;}
公共列表子项{get;set;}
}
公营儿童
{
公共int Id{get;set;}
公共字符串名称{get;set;}
公共整数{get;set;}
}
Index.cshtml.cs:

public class IndexModel : PageModel
{
    private readonly ILogger<IndexModel> _logger;

    public IndexModel(ILogger<IndexModel> logger)
    {
        _logger = logger;
    }

    public Parent parent { get; set; }

    public void OnGet()
    {
        parent = new Parent();
    }

}
公共类索引模型:PageModel
{
专用只读ILogger\u记录器;
公共索引模型(ILogger记录器)
{
_记录器=记录器;
}
公共父级{get;set;}
公共互联网
{
父项=新父项();
}
}
Index.cshtml:

@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}


<h2>Parent Details</h2>
<div>
    <label>Name:</label>
    @Html.DisplayFor(x => x.parent.Name)
</div>
<div>
    <label>Age:</label>
    @Html.DisplayFor(x => x.parent.Age)
</div>
<div>
    <label>Children:</label>
    @foreach (var child in Model.parent.Children)
    {
        @: @child.Name
    }

</div>
@page
@模型索引模型
@{
ViewData[“Title”]=“主页”;
}
家长详细信息
姓名:
@DisplayFor(x=>x.parent.Name)
年龄:
@DisplayFor(x=>x.parent.Age)
儿童:
@foreach(Model.parent.Children中的变量child)
{
@:@child.Name
}
结果:


谢谢Mj,但是如何在一个屏幕中创建上述内容?嗨@Allam,我不知道你的意思,你能描述更多吗?谢谢Mj的回复,我只需要在索引页中插入一个新的父详细信息,然后例如,将有一个动态网格来插入子项(我实际上不知道每个家长的孩子数量,所以我希望它是动态的)然后一个提交按钮来保存家长,然后是他的孩子,并提前向您表示感谢