我的数据库中有2个表,即公司和分支。所以,理想情况下,公司可以拥有多个分支。使用实体框架我已经为两者添加了模型类。在Create Company的视图页面中,我有一个向该特定公司添加多个分支的部分。具体来说,它有一个div,用于添加一个分支。之后,有一个链接可以添加更多分支。当用户点击该链接时,将打开一个类似的div。我怎样才能完成同样的任务?
模特课程:
namespace Models
{
using System;
using System.Collections.Generic;
public partial class Company
{
public Company()
{
this.Branches = new HashSet<Branches>();
}
public long ID { get; set; }
public string Name { get; set; }
public string QuickInfo { get; set; }
public virtual ICollection<Branches> Branches { get; set; }
}
}
创建视图:
@model Models.Company
@using (Html.BeginForm("Create", "Company"))
{
@Html.TextBoxFor(x=>x.Name,null)
@Html.TextBoxFor(x=>x.QuickInfo,null)
}
<div>
<a href="#" >Add Branch</a>
<h3>Branch</h3>
@Html.TextAreaFor(x=>x.Branches.Add() /*what to do here*/
</div>
答案 0 :(得分:1)
您可以使用ViewModel
在视图中使用多个模型
例如:
假设您想在视图中使用2个模型,即ModelA和ModelB。
ModelA
{
public int PropA { get; set; }
public int PropB { get; set; }
}
ModelB
{
public int PropC { get; set; }
public int PropD { get; set; }
}
现在,要在单个视图中使用这两个模型,您可以创建一个ViewModel
例如,
ModelC
{
public int PropX { get; set; }
public int PropY { get; set; }
public List<ModelA> ListOfModelA { get; set; }
public List<ModelB> ListofModelB { get; set; }
}
因此,现在您的ModelC将具有ModelA和ModelB的列表,并且它具有自己的属性,并且可以在单个视图中使用。