Asp.net mvc 如何从强类型ViewModel创建视图?
我开始使用ViewModels创建表示MVC4中几个底层EF实体的自定义视图。我在MVC项目中创建了一个名为“ViewModels”的文件夹,并将我的类放在该文件夹中。我要做的是基于强类型ViewModel类创建一个新视图。但是,在ASP.NET MVC中使用“创建强类型视图”选项和随后的“模型类”下拉选择创建视图时显示的wizzard不包含我的ViewModel类。列出的唯一类是我的实体框架模型中的类 如何基于创建的ViewModel类创建视图,或者更确切地说,如何使其显示在模型类列表中Asp.net mvc 如何从强类型ViewModel创建视图?,asp.net-mvc,Asp.net Mvc,我开始使用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-您完全正确。不需要重新构建就可以让超链接尝试一些东西,这不是我的典型。你的建议不是评论,而是答案。重新张贴作为答案,我会这样标记。非常感谢。