模型:

public class Service
{
    public int Id { get; set; }
    public string Name { get; set; }
    public double Price { get; set; }
}

ViewModel:

public class FullPrice
{
    public IEnumerable<Service> Services { get; set; }
}

视图:

@model hotel.Models.FullPrice
@foreach(Service service in Model.Services)
{
    //
}

我的视图模型为NULL。 为什么?

===============>>#1 票数:2

由于执行视图时当前不存在实例,因此模型将为NULL

通常,将模型实例传递到视图中的方式将采用相应的操作方法,例如

public View myActionMethod()
{
    hotel.Models.FullPrice model = new hotel.Models.FullPrice();
    model.Services = new List<Service>();//Also prevent NULL exception with this property
    return View(model);
}

===============>>#2 票数:1

我猜这不是模型为空,而是Services 将操作代码更改为

FullPrice model = new FullPrice
{
    Services = new List<Service>()
};
return View(model);

===============>>#3 票数:0

将您的ViewModel代码更改为以下内容

public class FullPrice
{
    public FullPrice()
    {
        this.Services = new List<Service>();
    }

    public IEnumerable<Service> Services { get; set; }
}

因此执行此操作时, Services属性不会为空

FullPrice model = new FullPrice();

  ask by andrey1567 translate from so

未解决问题?本站智能推荐:

1回复

MVCScaffolding和AutoMapper Mapped ViewModel

有没有人知道是否有MVCScaffol的Scaffolding模板等为每个视图创建ViewModel并为它们添加AutoMapper映射? 我想遵循Jimmy Boggards的建议,即每个视图都应该有一个专用的ViewModel,如果我可以自动化该过程,那将是一件好事。 即使它使用实体
2回复

通过MVC支架进行分组

背景 我目前正在开发一个MVC项目,我希望在其中显示一个电影列表以及它们将被编程播放的时间。 为了实现这一点,我有一个基本表(总结): 这与“电影商店”有关,其中基本上提供了与概要/类型/等有关的信息。 调节器 我已经使用自动生成的代码设置了一个控制器: 视图
1回复

MVC脚手架PowerShell命令

MVC脚手架用于公开一组Powershell命令,这些命令可从Package Manager控制台中产生很多好处。 似乎PS命令在2013版本中已被避开,取而代之的是它们是通过VS Add-item菜单运行的单个模板。 在大约4年前的一个先前项目中,我大量使用了脚手架作为元编程的一种
1回复

ASP.NET MVC 5-多对一关系的脚手架

我正在使用VS 2013开发ASP.NET MVC 5,EF 6,Razor引擎,VB语言和数据库优先方法。 现在,在我的数据库中; 我有两个表,如下所示: 和 现在,当我使用脚手架自动生成控制器和视图时; 我在“创建订阅者”和“编辑订阅者”视图中得到一个<sel
1回复

在ASP.NET MVC 4中添加Controller数据库错误

将添加控制器帮助程序/脚手架与Entity Framework CRUD集成一起使用时,出现以下错误: 问题是:为什么要在我的临时文件中寻找数据库? 该数据库文件位于: 这是我的连接字符串: 因此,似乎对| DataDirectory |的引用 表现不佳。 如何设置
1回复

asp.net mvc脚手架和GUID作为主键

我有一个具有以下结构的表 我使用Visual Studio创建了一个实体模型,并生成了用于编辑/删除等的视图(MVC脚手架) 问题出在“编辑”上,当我单击该链接时,会显示带有正确数据的适当表格,但是“保存”按钮根本不起作用。 请注意,其他链接(删除,创建,详细信息)可以正常工作。
1回复

Ninject和MVC脚手架

我正在尝试为存储库自定义MVC脚手架T4模板,以便它在我的App_Start \\ NinjectMVC3.cs类中创建Ninject绑定。 我可以更改模板以自定义创建的存储库,但是我对如何使模板将内容添加到单独的文件感到有些困惑。 有人做过类似的事情吗? 另外,我想将存储库及其接
1回复

ASP.NET MVC:在一个视图中显示多个模型(一对多关系)

我正在尝试将使用MVCScaffolding和ASP.NET的简单ASP.NET Web应用程序放在一起(我认为是)。 SQL中有一个基本的数据表层:dbo.Albums,dbo.Tracks。 这个模型很简单。 对于专辑: 基本的CRUD视图已构建并正常工作。 但是,我正在
2回复

用于MVC4的MVCS折叠?

过去,我为MVC网站使用MVCScaffolding的自定义功能在编码自动化方面取得了一些成功。 现在,有了出色的基因敲除.js和其他js库,我也想自动化JavaScript代码。 MVCScaffolding是否仍适用于MVC4? 在开始之前,我想向经验丰富的人咨询一下。
1回复

无法检索元数据-MVC4和实体框架

我正在构建MVC应用程序,并且正在使用Entity Framework Code First。 我有一个包含我的MVC文件的Project.Web。 我还有另一个名为Project.Data的项目,其中包含我的上下文,如下所示: 我将数据对象放在该项目的另一个类中,如下所示: