MVC 映射到模型中可为 null 的 bool

2023-12-31

使用包含该字段的视图模型:

public bool? IsDefault { get; set; }

尝试在视图中映射时出现错误:

<%= Html.CheckBoxFor(model => model.IsDefault) %>

无法隐式转换类型“bool”? '布尔'。存在显式转换(您是否缺少强制转换?)

我尝试过铸造并使用.Value但都不起作用。

请注意,我想要的行为是提交表单应该设置IsDefault在模型中为 true 或 false。值为null只是意味着模型尚未填充。


问题是你确实有三个可能的值; true、false和null,所以CheckBoxFor无法处理这三种状态(只能处理两种状态)。

布拉德·威尔逊在他的博客上讨论here http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-3-default-templates.html。他使用 DropDownList 来表示可为 null 的布尔值。

这个堆栈溢出question https://stackoverflow.com/questions/2490790/why-is-checkboxfor-producing-runtime-error在描述情况方面比我上面做的要好得多。该解决方案的缺点是有时可以为空并不意味着错误,它应该可以为空。例如,您不希望应用 true 或 false 的过滤条件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC 映射到模型中可为 null 的 bool 的相关文章

  • 删除文件的最后 10 个字符

    我想删除文件的最后 10 个字符 说一个字符串 hello i am a c learner 是文件内的数据 我只是希望该文件是 hello i am a 文件的最后 10 个字符 即字符串 c learner 应在文件内消除 解决方案 将
  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • BASIC 中的 C 语言中的 PeekInt、PokeInt、Peek、Poke 等效项

    我想知道该命令的等效项是什么Peek and Poke 基本和其他变体 用 C 语言 类似PeekInt PokeInt 整数 涉及内存条的东西 我知道在 C 语言中有很多方法可以做到这一点 我正在尝试将基本程序移植到 C 语言 这只是使用
  • STL 迭代器:前缀增量更快? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的预增量比后增量快 正确吗 如果是 为什么呢 https stackoverflow com questions 2020184 preincrement faster than postinc
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • 在 Unity 中实现 Fur with Shells 技术

    我正在尝试在 Unity 中实现皮毛贝壳技术 http developer download nvidia com SDK 10 5 direct3d Source Fur doc FurShellsAndFins pdf Fins 技术被
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • Graphql 数据建模:扩展类型和接口

    这是一个非常基本的问题 但是如何调用扩展类型或接口 所有文档都指向使用extend type Person添加基于人员的字段 我希望它能像这样工作 Employee extend type Person salary Int 但文档表明它是
  • 垫菜单始终出现在页尾

    我实施了mat menu来自有角度的材料 菜单始终出现在页面末尾 代码如下 我尝试过设置z index和别的css属性 但菜单没有出现在原来应该出现的位置 HTML
  • 记录私有泛型类型的公共具体变体

    In 我的另一个问题 https stackoverflow com q 70102943 857390 我问如何只公开公开一个具体的变体 Foo
  • Sequelize 连接两个不关联的表

    我试图通过连接两个不使用关系 关联 的表来检索数据 这两个表如下 mysql gt desc partner txns Field Type Null Key Default Extra id int 11 NO PRI NULL auto
  • .NET 3.5 与 .NET 3.0

    我想在 WPF 中编写一个程序 但不确定应该以 net35 还是 net30 为目标 net35的优点是显而易见的 但是 我仍然看到 net30 的一个主要优势 它内置于 Vista 中 因此 使用 Windows Vista 的用户无需下
  • 使用 Trello API 创建新卡

    我正在尝试将新卡添加到 Trello 列表中 但有点卡住了 我尝试过两种方法发布 https api trello com 1 lists mylistid cards key mykey token myToken name myName
  • 将 FFMPEG 编码为 MPEG-DASH – 或使用关键帧簇的 WebM – 用于 MediaSource API

    我目前正在将视频流发送到 Chrome 以通过 MediaSource API 进行播放 据我了解 MediaSource 仅支持使用 MPEG DASH 编码的 MP4 文件 或具有以关键帧开头的簇的 WebM 文件 否则会引发错误 媒体
  • jmeter - 如何忽略 *jtl 文件中测量的选定采样器

    我的测试配置 循环控制器 gt Beanshell Sampler vars put test CSVRead test 0 Add it to an existing array retrieved from vars getObject
  • 如何让 Chrome 在新标签页中打开页面

    我只想在新选项卡中打开所有页面 是关于 chrome 还是我的代码 在格式化计算机之前 我可以使用此代码执行此操作 但现在第一个链接在新选项卡中打开 其他链接在新窗口中打开 我认为我的一些 chrome 选项坏了或者什么的 for var
  • 从 __m128i 中查找最小/最大值

    我想使用 SIMD 运算查找字节数组中的最小值 最大值 到目前为止 我能够遍历数组并将最小值 最大值存储到 m128i 变量中 但这意味着我正在查找的值混合在其他值中 确切地说是其他 15 个值 我找到了这些讨论here https sta
  • 如何在 .net Core 应用程序中使用 IConfiguration 绑定多级配置对象?

    我正在尝试绑定到应由 appsettings json 文件填充的自定义配置对象 我的应用程序设置看起来有点像 Logging IncludeScopes true LogLevel Default Debug System Informa
  • 如何在整个Windows操作系统中更改光标(图像)

    我需要在所有窗口中更改光标 而不仅仅是在应用程序中 我尝试过以下操作 this Cursor Cursors WaitCursor 和这个 System Windows Forms Cursor Current System Windows
  • 使用 Dagger 进行 Android 功能测试

    我正在尝试使用 Mockito 测试 Activity Dagger http square github com dagger 我已经能够在应用程序中向 Activity 注入依赖项 但是在测试 Activity 时 我无法向 Activ
  • Android应用程序包安装在手机上的哪里

    我在手机上安装了一个 Android 应用程序 该应用程序是我在 java 上自己创建的 该应用程序已成功安装在设备上 但我无法找到已安装的软件包 如何找到已安装应用程序的路径 您将在以下位置找到该应用程序文件夹 data data you
  • 在 Eclipse 中分析项目时出现 NPE (SonarQube 5.2)

    我从 SonarQube 5 1 2 更新到 5 2 在 Eclipse 中 我使用最新插件版本开始使用 SonarQube 进行分析 但会弹出一个对话框 提示存在 NPE Eclipse 错误日志显示 java lang NullPoin
  • 如何使用 PrimeFaces 按钮在新窗口中打开任意 URL

    我有以下输出链接可以完成其工作
  • 在 Android Studio 中使用新名称复制现有项目

    我想复制我的 Android 项目并从相同的文件创建一个新项目 只是名称不同 这样做的目的是让我可以拥有我的应用程序的第二个版本 该版本在应用程序商店中支持广告 我在这里找到了这个答案 Android 使用新名称复制现有项目 https s
  • PHP 脚本可以在收到所有 POST 数据之前启动吗?

    我在 Apache 下运行 PHP 我想将 POST 数据缓慢发送到页面 该页面将在 POST 数据到达时将消息写入数据库 我正在使用 NET 应用程序发送数据WebRequest我已经设置了SendChunked为真 不幸的是 看起来 P
  • Android BluetoothGatt 类中的 clientIf 字段

    Android BluetoothGatt class has mClientIf私人领域 大多数与 BLE 事件相关的日志消息都包含此值 例如 onClientRegistered 状态 0 clientIf 17 什么是mClientI
  • MVC 映射到模型中可为 null 的 bool

    使用包含该字段的视图模型 public bool IsDefault get set 尝试在视图中映射时出现错误 无法隐式转换类型 bool 布尔 存在显式转换 您是否缺少强制转换 我尝试过铸造并使用 Value但都不起作用 请注意 我想要