MVC 4:如何使 DropDownListFor 返回 0 作为 optionLabel 值?

2023-11-29

我有一个包含多个 DropDownListFor 的创建视图。每次创建新对象时,只有 1 个 DropDownListFors 应该有值,我希望其他对象在选择 optionLabel 时返回 0 作为结果。

如何将 0 指定为 DropDownListFor 的 optionLabel 的值?

编辑: 这是我认为的 DropDownListFor 代码的示例:

@Html.DropDownListFor(model => model.cardReward.ID, new SelectList(ViewBag.cardReward, "Id","Name"), "None")

当我渲染页面时,它会创建顶部没有的列表,如下所示:

<option value>None</option>

我希望它是这样的:

<option value="0">None</option>

In the DropDownFor 的文档 the optionLabel参数(您传递“None”的地方)描述为:

默认空项目的文本。

所以这被设计为始终是一个空项目。您需要在选择列表中添加一个附加项目才能获得 0 值。

我使用了以下扩展方法来完成此操作(抱歉未经测试,可能存在小错误):

public IEnumerable<SelectListItem> InsertEmptyFirst(this IEnumerable<SelectListItem> list, string emptyText = "", string emptyValue = "")
{
    return new [] { new SelectListItem { Text = emptyText, Value = emptyValue } }.Concat(list);
}

你可以像这样使用它:

@Html.DropDownListFor(model => model.cardReward.ID, new SelectList(ViewBag.cardReward, "Id","Name").InsertEmptyFirst("None", "0"))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC 4:如何使 DropDownListFor 返回 0 作为 optionLabel 值? 的相关文章

随机推荐

  • 如何通过多线程代码python提高Webscraping代码速度

    下面是我的代码 我在其中逐行编写 大约有900页 10行 每行5个数据 有什么办法可以让它更快吗 目前正在采取80 min将数据导出到 csv 中 有什么方法可以向页面发出并行请求并使此代码更高效 import requests from
  • ManyToMany 字段的 Django 自定义小部件

    有谁知道有一个显示 2 个选择框的小部件 一个显示模型中所有对象的列表 另一个显示已选择的对象 然后 用户可以从第一个列表中选择一个对象 单击 gt gt 按钮将其移动到 选定 列表 然后 当保存表单时 所选列表中的对象将保存在多对多字段中
  • 使用 JQ 替换 JSON 模板中的变量

    我想用值 Hello Jack 填充 json 模板 但 Hello 部分应保留在模板内 有什么方法可以做到这一点 我尝试了下面的代码 但它给了我错误 jq n arg person Jack my key Hello person jq
  • C# 判断文件是否被修改的方法

    我想在对文件进行一些修改后提示用户保存文件 但问题是我一生都无法这样做 有些人建议使用FileInfo类 但它只给你lastWriteTime LastAccessTime and CreationTime 我想用FileInfo类而不是F
  • Android 中 getResources() 的实现

    我刚刚开始学习android编程 我对getResources 方法产生了疑问 我注意到 当我创建一个 Resources 对象时 我所要做的就是 Resources res getResources 第一个疑问是为什么我必须这样做并且我不
  • 如何从facebook sdk获取用户生日?

    如何通过以下方式获取用户生日user getBirthday Session openActiveSession this true new Session StatusCallback callback when session chan
  • 处理 vimrc 时检测到错误: - 如何在 vim 中获取 pugins

    今天我正在制作自定义 vimrc 但它给了我这个错误 它不允许我使用任何插件 有人可以帮助告诉我做错了什么吗 这些行是它显示的错误 E117 Unknown function plug begin line 10 E492 Not an e
  • 无法安装react-beautiful-dnd包

    以下是安装包时的完整错误堆栈消息 npm ERR code ERESOLVE npm ERR ERESOLVE unable to resolve dependency tree npm ERR npm ERR While resolvin
  • 用户更新标签后渲染 Highcharts

    我正在尝试创建一个图表生成器 我有用户输入的图例标题和位置 我希望用户输入标题 当单击 模糊 时 图表将根据他们输入的内容进行更新 问题是图表第一次渲染 但是我永远无法让字符再次渲染 这是代码的快速摘要 legendlocation sel
  • 根据验证程序,远程证书无效[重复]

    这个问题在这里已经有答案了 运行以下代码 我得到一个异常 using var client new Pop3Client client Connect provider ServerWithoutPort provider Port tru
  • WCF 服务主机和 Silverlight 5 通过 net.tcp 的跨域策略文件

    我有一个本地托管的 WCF 服务和一个与之通信的 silverlight 5 应用程序 默认情况下 silverlight 在调用 WCF 服务时尝试通过 HTTP 获取跨域策略文件 我需要更改此设置 以便策略文件通过 net tcp 端口
  • android art 运行时 check_jni.cc 包名称错误

    编辑 由于 build gradle 不明确 我有太多版本的共享库 src main jniLibs armeabi v7a libaudioboo native so rob app rm src main libs armeabi v7
  • MSI 卸载问题:错误 1001 -> 保存的状态字典包含不一致的数据并且可能已损坏

    我需要创建一些 Windows 服务 显然我想将它们打包在一个不错的安装程序中 由于我不熟悉服务创建 安装 我基本上使用了以下示例中的代码 高级服务安装 我没有更改 ProjectInstaller 或 InstallActions 基本上
  • 获取特定层次结构级别的元素

    有没有办法使用 XPath 检索特定层次结构级别的所有元素 Upd a b 1 b b 2 b a
  • Android 中的运行时异常 java.lang.NoClassDefFoundError:retrofit2.Platform

    实施改造后 我正在使用 Rtofit 处理来自移动设备的服务器端数据 我收到以下异常任何了解此问题的人请告诉我哪里做错了 初始化改造 mRetrofit new Retrofit Builder baseUrl AppConstance A
  • 使用模板类的函数模板专业化[重复]

    这个问题在这里已经有答案了 可能的重复 函数模板的部分特化 我无法在任何地方找到我的问题的解决方案 因为如果我使用我提出的关键字进行搜索 将为我提供适合不同问题的解决方案 我知道这一定是以前问过的 只是找不到解决方案 假设我有一个函数模板
  • 如何在Matlab中用contourf模拟并绘制电场?

    我想知道如何绘制具有 2 个电荷 Q 和 Q 及其总 E 的图 对于特定点 例如 4 5 轮廓为 f 我的M文件实际上扫描了该区域 从 3x到3x 并计算每个点的E 将其存储在表中 但在此之后 我不知道如何使用contourf来绘制它 sy
  • android中视频文件的加密与解密

    谁能告诉我如何在从服务器下载时加密视频文件并在应用程序内播放时解密它 请帮忙 谢谢 Use 密码输出流 and 密码输入流用于android中文件的加密和解密 有两种方法可以帮助您实现目标 下载文件并对其进行加密 当您想播放该文件时 将其解
  • 使用 T-SQL DATEFROMPARTS 返回 NULL 而不是抛出错误

    我经常收到一些整数组合或单个 8 位整数形式的日期 为了将它们转换为可用的日期 我尝试了 DATEFROMPARTS 函数 但是当日期无意义时 当首选 NULL 时 它会抛出错误 我希望找到一个与 TRY PARSE 行为类似的函数 它接受
  • MVC 4:如何使 DropDownListFor 返回 0 作为 optionLabel 值?

    我有一个包含多个 DropDownListFor 的创建视图 每次创建新对象时 只有 1 个 DropDownListFors 应该有值 我希望其他对象在选择 optionLabel 时返回 0 作为结果 如何将 0 指定为 DropDow