【问题标题】:Allow Nullable Model in Views允许视图中的可空模型
【发布时间】:2019-11-12 01:16:33
【问题描述】:

当使用 struct/enum 或任何其他 类型作为我的 MVC 模型时,编译器似乎显示错误。

CS0037 无法将 null 转换为“MyEnum”,因为它是不可为空的 值类型

我创建了一个新的 MVC 项目(在 VS 2019 中),创建了一个枚举

public enum MyEnum
{
    One,
    Two,
    Three
}

并将其作为模型放在“关于”视图中:

为什么会这样?

【问题讨论】:

    标签: c# asp.net-mvc visual-studio nullable visual-studio-2019


    【解决方案1】:

    使用结构/值类型时编译器似乎显示错误 作为我的 MVC 模型。

    根据this link,模型绝对可以是或者classstruct。有利有弊,但两者都都允许

    那么,你为什么会看到这个错误呢? 简短的回答是——这不是一个真正的错误。 这是一个假错误

    Visual Studio 有时会显示虚假错误,尤其是当Error List 中的下拉菜单设置为Build + Intellisense(而不是Build Only)时。

    我给你的建议是将下拉菜单切换为Build Only在我的项目中,Intellisense 给出了许多虚假错误,因此我大部分时间都将其置于Build Only 模式。

    它出现在 Visual Studio 2017 和 2019 中。我没有在其他地方测试过。

    【讨论】:

      【解决方案2】:

      我在将十进制模型传递给视图时遇到了类似的问题。我在十进制类型后面加上可以为空的“?”运营商:

      @model decimal?
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-05
        • 1970-01-01
        • 2015-09-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多