Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在同一视图中检索父数据和子数据_C#_Asp.net Mvc 5 - Fatal编程技术网

C# 如何在同一视图中检索父数据和子数据

C# 如何在同一视图中检索父数据和子数据,c#,asp.net-mvc-5,C#,Asp.net Mvc 5,我想在同一视图MVC中检索父视图和子视图的数据# @DisplayFor(model=>model.Name) @foreach(模型中的var项1) { @Display(modeleItem=>item1.Name) } @ActionLink(“+”,“Create”) 您的模型必须如下所示: public class newtree { public string User_ID { get; set; } public string Name {

我想在同一视图MVC中检索父视图和子视图的数据#

  • @DisplayFor(model=>model.Name)
    • @foreach(模型中的var项1) {
    • @Display(modeleItem=>item1.Name)
    • }
    • @ActionLink(“+”,“Create”)

您的模型必须如下所示:

public class newtree 
{ 
    public string User_ID { get; set; } 
    public string Name { get; set; } 
    public string perantID { get; set; } 
    List<Child> Children { get; set; }
}
公共类newtree
{ 
公共字符串用户_ID{get;set;}
公共字符串名称{get;set;}
公共字符串perantID{get;set;}
列出子项{get;set;}
}
您需要用正确的数据填充子列表,然后用@foreach(Model.Children中的var item1)迭代它。

Model

 public class EmployeeViewModel {

    public int Id { get; set; }
    public string Name { get; set; }
    public string Email { get; set; }
    public EmployeeDepartment employeeDepartment { get; set; }
}

public class EmployeeDepartment {

    public int Id { get; set; }
    public string DepartmentName { get; set; }
}
控制器

 public ActionResult EmployeeData() {

        EmployeeViewModel model = new EmployeeViewModel();
        EmployeeDepartment ed = new EmployeeDepartment();
        model.Id = 1;
        model.Name = "Muhammmad Ashraf Faheem";
        model.Email = "it.ashraffaheem@gmail.com";
        ed.Id = 1;
        ed.DepartmentName = "Development";
        model.employeeDepartment = ed;
        return View(model);
    }
看法

@model UploadFileDemo.Models.EmployeeViewModel
@{ViewBag.Title=“EmployeeData”;}
@Model.Id
@型号名称
@型号.电子邮件
@Model.employeeDepartment.Id
@Model.employeeDepartment.DepartmentName

通过这种方式,我们可以在同一视图中使用父模型和子模型:

@foreach(模型中的var item1)似乎不正确,因为您使用的是model.Name。你的模型看起来怎么样?我没有模型我应该在模型中实现什么?如果你没有模型,你想展示什么?模型是您将显示的数据,即父/子数据。您的数据应该有一个model/viewmodel/class。public class newtree{public string User_ID{get;set;}public string Name{get;set;}public string perantID{get;set;}}这是一个模型在做了这些更改之后,我在数据库的查询中需要添加查询还是其他什么?@foreach(Model.Children中的var item1)我接收到此语句时出错我们从上一页@Model ASPNET\u MVC\u Samples.Models.tree中获取了id您必须以某种方式将数据放入List Children属性中。您可以从数据库中获取数据,对其进行硬编码或任何您喜欢的操作。但它需要一些数据,否则foreach循环中有什么意义?
 public ActionResult EmployeeData() {

        EmployeeViewModel model = new EmployeeViewModel();
        EmployeeDepartment ed = new EmployeeDepartment();
        model.Id = 1;
        model.Name = "Muhammmad Ashraf Faheem";
        model.Email = "it.ashraffaheem@gmail.com";
        ed.Id = 1;
        ed.DepartmentName = "Development";
        model.employeeDepartment = ed;
        return View(model);
    }
@model UploadFileDemo.Models.EmployeeViewModel
@{ViewBag.Title = "EmployeeData";}
<label>@Model.Id</label><br />
<label>@Model.Name</label><br />
<label>@Model.Email</label><br />
<label>@Model.employeeDepartment.Id</label><br />
<label>@Model.employeeDepartment.DepartmentName</label>