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 的相关文章

  • 如何在 VC++ CString 中验证有效的整数和浮点数

    有人可以告诉我一种有效的方法来验证 CString 对象中存在的数字是有效整数还是浮点数吗 Use tcstol http msdn microsoft com en us library w4z2wdyc aspx and tcstod
  • Grpc - 将消息从一个客户端发送到连接到同一服务器的另一个客户端

    是否可以将消息从一个客户端发送到连接到同一服务器的另一个客户端 我想将数据从一个客户端发送到服务器然后发送到特定客户端 我想我需要获取客户端 ID 但我不知道如何获取此 ID 以及如何从服务器将此消息发送到该客户端 我这里有一个样本 这是一
  • 转换 const void*

    我有一个函数返回一个const void 我想用它的信息作为char 我可以将它投射为 C 风格的罚款 char variable但是当我尝试使用reinterpret cast like reinterpret cast
  • WPF:在关闭事件触发之前,不会提交对具有焦点的文本框的更改

    我有一个用于编辑数据库信息的 WPF 窗口 它使用实体框架对象表示 当用户关闭窗口时 我想在 Closing 事件中注意到信息是否已更改 并显示一个消息框 提供将更改保存到数据库的信息 不幸的是 在编辑失去焦点之前 对当前焦点编辑的更改不会
  • 从复选框列表中选择循环生成的复选框中的一个复选框

    抱歉我的英语不好 在我的 ASP NET 网站上 我从 SQL 表导入软件列表 看起来像这样 但实际上要长得多 Microsoft Application Error Reporting br br Microsoft Applicatio
  • 处理右值时的 insert 与 emplace

    std string myString std unordered set
  • 即使没有异步,CallContext.LogicalGetData 也会恢复。为什么?

    我注意到CallContext LogicalSetData LogicalGetData不按照我期望的方式工作 内部设置的值async方法得到恢复即使没有异步或任何类型的线程切换 无论如何 这是一个简单的例子 using System u
  • Eigen 和 OpenMP:由于错误共享和线程开销而没有并行化

    系统规格 Intel Xeon E7 v3 处理器 4 插槽 16 核 插槽 2 线程 核心 Eigen 系列和 C 的使用 以下是代码片段的串行实现 Eigen VectorXd get Row const int j const int
  • 不同 C++ 文件中的相同类名

    如果两个 C 文件具有相同名称的类的不同定义 那么当它们被编译和链接时 即使没有警告也会抛出一些东西 例如 a cc class Student public std string foo return A void foo a Stude
  • 在 C# 中检查 PowerShell 执行策略的最佳方法是什么?

    当你跑步时Get ExecutionPolicy在 PowerShell 中 它得到有效的执行政策 https learn microsoft com en us powershell module microsoft powershell
  • 如何将AVFrame转换为glTexImage2D使用的纹理?

    如您所知 AVFrame 有 2 个属性 pFrame gt data pFrame gt linesize 当我从视频 sdcard test mp4 android平台 读取帧后 并将其转换为RGB AVFrame副 img conve
  • 如果输入被重定向则执行操作

    我想知道如果我的输入被重定向 我应该如何在 C 程序中执行操作 例如 假设我有已编译的程序 prog 并且我将输入 input txt 重定向到它 我这样做 prog lt input txt 我如何在代码中检测到这一点 一般来说 您无法判
  • 不可变类与结构

    以下是类与 C 中的结构的唯一区别 如果我错了 请纠正我 类变量是引用 而结构变量是值 因此在赋值和参数传递中复制结构的整个值 类变量是存储在堆栈上的指针 指向堆上的内存 而结构变量作为值存储在堆上 假设我有一个不可变的结构 该结构的字段一
  • 在 C# 中为父窗体中的子窗体控件添加事件处理程序

    我有两种形式 一种是带有按钮和文本框的父表单 单击该按钮时 将打开一个对话框 该子窗体又包含一个文本框和一个按钮 现在我想要的是 每当子表单文本框中的文本更改时 父表单文本框中的文本会自动更改 为了获得这个 我所做的是 Form3 f3 n
  • memcpy/memmove 到联合成员,这是否设置“活动”成员?

    重要说明 一些评论者似乎认为我是从工会抄袭的 仔细看memcpy 它从普通旧地址复制uint32 t 它不包含在联合中 另外 我正在复制 通过memcpy 到工会的特定成员 u a16 or u x in a union 不直接到整个联盟本
  • C++ - 多维数组

    处理多维数组时 是否可以为数组分配两种不同的变量类型 例如你有数组int example i j 有可能吗i and j是两种完全不同的变量类型 例如 int 和 string 听起来您正在寻找 std vector
  • 将二变量 std::function 转换为单变量 std::function

    我有一个函数 它获取两个值 x 和 y 并返回结果 std function lt double double double gt mult double x double y return x y 现在我想得到一个常量 y 的单变量函数
  • 将 Word 转换为 PDF - 禁用“保存”对话框

    我有一个用 C 编写的 Word 到 PDF 转换器 除了一件事之外 它工作得很好 有时 在某些 Word 文件上 后台会出现一条消息保存源文件中的更改 gt 是 否 取消 但我没有对源文件进行任何更改 我只想从 Word 文件创建 PDF
  • 使动态创建的链接标签在 Winforms 中可点击

    我正在制作一个程序 允许用户单击由动态链接标签创建的公司名称 在我想知道如何做到这一点之前 我从未在 C 中使用过链接标签 可为特定用户生成的业务数量各不相同 因此每个用户的链接标签数量并不相同 然后我想捕获业务 ID 以进行 Json 调
  • 将 Lambda 表达式树与 IEnumerable 结合使用

    我一直在尝试了解有关使用 Lamba 表达式树的更多信息 因此我创建了一个简单的示例 这是代码 如果作为 C 程序粘贴到 LINQPad 中 它可以工作 void Main IEnumerable

随机推荐

  • 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但都不起作用 请注意 我想要