【问题标题】:how to retrieve parent data and child data in the same view如何在同一视图中检索父数据和子数据
【发布时间】:2018-09-20 01:57:56
【问题描述】:

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

<ul class="circle2">
    <li style=" border:0px">
        <div class="text">@Html.DisplayFor(model => model.Name)</div>
    </li>

    <ul class="circle3">

    @foreach (var item1 in Model) 
    {
        <li>
            <div class="text">@Html.Display(modelItem => item1.Name)</div>
        </li>
    }
<li>
    <div class="text" data-toggle="tooltip" data-placement="left" title="add family member">@Html.ActionLink("+", "Create")</div>
</li>

【问题讨论】:

  • @foreach (var item1 in Model) 似乎不正确,因为您正在使用 model.Name 进一步。你的模型看起来怎么样?
  • 我没有模型我应该在模型中实现什么?
  • 如果您没有模型,您想展示什么?模型是您将显示的数据,即父/子数据。你的数据应该有一个模型/视图模型/类。
  • 公共类新树 { 公共字符串 User_ID { 获取;放; } 公共字符串名称 { 获取;放; } 公共字符串 perantID { 获取;放; } }
  • 这是模型

标签: c# asp.net-mvc-5


【解决方案1】:

您的模型必须如下所示:

public class newtree 
{ 
    public string User_ID { get; set; } 
    public string Name { get; set; } 
    public string perantID { get; set; } 
    List<Child> Children { get; set; }
}

您需要用正确的数据填充子列表,然后使用@foreach(Model.Children 中的var item1)对其进行迭代

【讨论】:

  • 进行这些更改后,我是否需要在数据库查询中添加查询或其他内容?
  • @foreach(Model.Children 中的 var item1)我在此语句中收到错误
  • 我们带来了上一页的 id @model ASPNET_MVC_Samples.Models.Tree
  • 您必须以某种方式将数据放入 List Children 属性中。您可以从数据库中获取它,对其进行硬编码或任何您喜欢的东西。但是它需要有一些数据,否则foreach循环的意义何在?
【解决方案2】:

型号

 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";}
<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>

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

【讨论】:

    猜你喜欢
    • 2015-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    • 2015-10-12
    • 1970-01-01
    • 1970-01-01
    • 2021-01-04
    相关资源
    最近更新 更多