使用两个ViewModel创建视图

时间:2017-01-05 11:54:57

标签: c# asp.net-mvc razor

我正在使用ASP.NET MVC开展在线简历构建项目,让我告诉你我对MVC并不熟悉。我有两个视图模型,一个用于体验信息,另一个用于其他简历细节。基本上一个人可以拥有多个经验,即resumeVM与experienceVM有一对多的关系,我的视图模型看起来像这样;

public class ResumeVM
{

//some variables

public List<ExperienceVM> experience { get; set;}
}

public class ExperienceVM
{
//some experience details
}

现在问题是如何创建视图以便让用户输入他喜欢的经验。我想我可以使用javascript创建UI但我不知道如何将这些值存储到列表中并保存这些相应表中的数据。有人可以快速点亮这个关于如何继续?

2 个答案:

答案 0 :(得分:1)

如果您在视图中发送2个模型时遇到问题,可以采用多种方式,一个就像您说的ViewModel一样,如下所示:

public class ResumeVM
{
    public ResumeVM()
    {
        Resume = new List<Resume>();
        Experience = new List<Experience>();
    }
    public List<Resume> Resume { get; set; }
    public List<Experience> Experience { get; set; }

}

在ViewModel中创建模型列表并在factoryController中填充它们并将其与视图一起发送:

   public ActionResult Index()
    {
        ResumeVM _vm = new ResumeVM(); 
        Repository _repository = new Repository();

        //these repository methods will populate your lists 
        _vm.Resume = _repository.PopulateResume();
        _vm.Experience = _repository.PopulateExperice();

        return View("Index",_vm);
    }

答案 1 :(得分:0)

如果您需要更多模型,那么您可以创建ViewModel - 可以将许多模型堆叠到您的视图中的模型和视图

为了更好地理解阅读内容thisthis