在现有项目上创建视图模型

时间:2015-06-22 15:27:28

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

我正在尝试将viewmodel添加到项目中,因为我希望我的视图使用两个单独的模型。我看过不同的教程试图学习如何做到这一点,但我遇到了一些麻烦。之前,视图被强烈绑定(键入?)到Person模型,但现在当我们添加一个人时,我们希望他们上传一个文件,但是这个文件在数据库中的自己的表中,所以我不得不创建一个新的FileToBeUploaded模型

我创建了一个新类并添加了我想要的属性

namespace Project.ViewModel
{
    public class ViewModel
    {

        public Person personVM { get; private set; }
        public FileToBeUploaded fileVM { get; private set; }


     }
}

现在我的问题是当我想强烈地将它绑定到我正在使用的视图时,我写了

@model Project.ViewModel

而不是旧的Project.Models.Person

但是我收到一条错误,说“Project.ViewModel是一个名称空间但是像类型一样使用”

所以我不知道在创建viewmodel和尝试在视图中访问它时是否缺少一些步骤,我觉得我在其上看到的教程并不十分清楚。< / p>

1 个答案:

答案 0 :(得分:4)

您正在使用名称空间,您的完整类型名称为Project.ViewModel.ViewModel(名称空间为Project.ViewModel,类名称为ViewModel),因此请改用此名称:

@model Project.ViewModel.ViewModel