我开始使用ViewModels创建自定义视图,这些视图代表MVC4中的几个底层EF实体。我在我的MVC项目中创建了一个名为“ViewModels”的文件夹,并在该文件夹中创建了我的类。我想要做的是基于强类型的ViewModel类创建一个 new 视图。但是,在ASP.NET MVC中使用“创建强类型视图”选项创建视图时显示wizzard,后续“Model Class”下拉选择不包含我的ViewModel类。列出的唯一类是来自我的Entity Framework模型的类。
如何根据我创建的ViewModel类创建一个View,或者让它显示在Model类列表中?
谢谢!
答案 0 :(得分:2)
在新的ViewModel类出现在该下拉列表中之前,您需要编译MVC项目。
答案 1 :(得分:0)
默认情况下,向导将显示除模型DropDown中的那些Controller文件(以Class file
结尾)之外的所有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
是此类所在的命名空间的名称