如何将列表从视图传递到控制器.净MVC5
本文关键字:控制器 MVC5 视图 列表 | 更新日期: 2023-09-27 18:03:08
我有这些模型:
public class Condominium
{
public int CondominiumID { get; set; }
public int BatchID { get; set; }
public string Name { get; set; }
public bool LiveInCondominium { get; set; }
public string Phone { get; set; }
public string Email { get; set; }
public Batch Batch { get; set; }
public List<Employee> Employees { get; set; }
}
public class Employee
{
public int EmployeeID { get; set; }
public int CityID { get; set; }
public string UserID { get; set; }
public Condominium CondominiumID { get; set; }
public string Name { get; set; }
public string Address { get; set; }
public string ZipCode { get; set; }
public string Contact { get; set; }
public string Phone { get; set; }
public string Email { get; set; }
public City City { get; set; }
public Condominium Condominium { get; set; }
}
我需要动态创建Employee
对象并将它们放入列表中,当我发出post请求时,对象Condominium
包含Employee
对象的列表。我不知道如何创建这个视图
我建议您为每个视图构建View模型,在这种情况下,您将构建一个包含包含员工列表的属性的模型。然后,您只需填充模型并将其返回给视图。
下面是一些伪代码:
控制器public ActionResult Index()
{
var viewModel = new ViewModel()
{
Employees = BuildListOfEmployees() // Method that gets/builds a list of employees, expected return type List<Employee>
};
return View(viewModel);
}
class ViewModel
{
public List<Employee> Employees { get; set; }
}
<<p> 视图/strong> @model YourNamespace.ViewModel
<ul>
@foreach (var employee in Model)
{
<li>employee.Name</li>
}
</ul>
通常这些信息存储在数据库中,您只需将id作为URL参数传递。HTTP请求处理程序将接受参数并从数据库中查找所需的信息。
你的对象结构看起来很平坦,所以它们很容易转换成关系数据库中的表。