c# - 在现有项目上创建 View 模型

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

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

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

namespace Project.ViewModel
{
    public class ViewModel
    {

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


     }
}

现在我的问题是当我想将其强绑定(bind)到我正在使用的 View 时,我写

@model Project.ViewModel

而不是旧的 Project.Models.Person

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

所以我不知道在创建 View 模型和尝试在 View 中访问它之间是否遗漏了一些步骤,而且我觉得我看过的教程对此不是很清楚。

最佳答案

您正在使用命名空间,您的完整类型名称为 Project.ViewModel.ViewModel (命名空间为 Project.ViewModel,类名称为 ViewModel >)所以使用这个来代替:

@model Project.ViewModel.ViewModel

关于c# - 在现有项目上创建 View 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30983914/

相关文章:

c# - WebClient 忽略 ServicePointManager.ServerCertificateValidationCallback?

javascript - 无法通过 JavaScript 将参数从 View 传递到 Controller

c# - 在没有公共(public)构造函数的情况下实例化 .NET 类

c# - Automapper 将多个属性映射到单个属性

asp.net - RTC 网络浏览器(视频和音频)

ASP.Net MVC - 请求生命周期

c# - 在 ASP.NET MVC5 上设置值后,静态属性在每个请求中始终为 null

c# - 您将如何使用 SelectMany 实现 LINQ 方法?

c# - 如何在 xamarin 中从 Syncfusion 绑定(bind) SfMaskedEdit?

asp.net-mvc - ASP/NET MVC : Test Controllers w/Sessions? 模拟?