1

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

如何根据我创建的 ViewModel 类创建一个视图,或者让它显示在该模型类列表中?

谢谢!

4

2 回答 2

2

您需要先编译 MVC 项目,然后新的 ViewModel 类才会显示在该下拉列表中。

于 2012-08-01T20:11:05.627 回答
0

Bu 默认情况下,向导将在 Model DropDown 中显示Class file除那些 Controller 文件(以 结尾)之外的所有名称 Controller.cs

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

@model YourViewModelClassName

假设YourViewModelClassName是您为 ViewModel 创建的类的名称。

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

public class CustomerViewModel
{
  public string Name {set;get;}
}

所以视图应该是这样的

@model CustomerViewModel
<p>Your view content can go here</p>

如果您的类 ViewModel 类驻留在一个命名空间中,则需要指定完全限定的类名

@model MyNameSpaceName.CustomerViewModel

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

于 2012-08-01T19:55:45.083 回答