Asp.net mvc 如何从强类型ViewModel创建视图?

Asp.net mvc 如何从强类型ViewModel创建视图?,asp.net-mvc,Asp.net Mvc,我开始使用ViewModels创建表示MVC4中几个底层EF实体的自定义视图。我在MVC项目中创建了一个名为“ViewModels”的文件夹,并将我的类放在该文件夹中。我要做的是基于强类型ViewModel类创建一个新视图。但是,在ASP.NET MVC中使用“创建强类型视图”选项和随后的“模型类”下拉选择创建视图时显示的wizzard不包含我的ViewModel类。列出的唯一类是我的实体框架模型中的类 如何基于创建的ViewModel类创建视图,或者更确切地说,如何使其显示在模型类列表中 谢谢

我开始使用ViewModels创建表示MVC4中几个底层EF实体的自定义视图。我在MVC项目中创建了一个名为“ViewModels”的文件夹,并将我的类放在该文件夹中。我要做的是基于强类型ViewModel类创建一个新视图。但是,在ASP.NET MVC中使用“创建强类型视图”选项和随后的“模型类”下拉选择创建视图时显示的wizzard不包含我的ViewModel类。列出的唯一类是我的实体框架模型中的类

如何基于创建的ViewModel类创建视图,或者更确切地说,如何使其显示在模型类列表中


谢谢

Bu默认情况下,向导将在模型下拉列表中显示除控制器文件(以
Controller.cs
结尾)以外的所有
类文件
名称

只需创建一个新的普通视图,然后将其添加为视图文件的第一行

@model YourViewModelClassName
假设
YourViewModelClassName
是为ViewModel创建的类的名称

例:如果您有这样的客户视图模型

public class CustomerViewModel
{
  public string Name {set;get;}
}
@model CustomerViewModel
<p>Your view content can go here</p>
所以视图应该是这样的

public class CustomerViewModel
{
  public string Name {set;get;}
}
@model CustomerViewModel
<p>Your view content can go here</p>

假设
MyNameSpaceName
是该类所在的命名空间的名称

您需要在新的ViewModel类显示在该下拉列表中之前编译MVC项目。

您可能需要在新的ViewModel类显示在该下拉列表中之前编译MVC项目。@JohnW-您完全正确。不需要重新构建就可以让超链接尝试一些东西,这不是我的典型。你的建议不是评论,而是答案。重新张贴作为答案,我会这样标记。非常感谢。