从 ASP.NET MVC 中的 DropDownList 获取默认 NULL 值

2024-02-23

我正在创建一个Trailer对于现有的Driver(可以从下拉列表中选择)。

@Html.DropDownListFor(x => x.Driver.driverID, (SelectList)ViewBag.DriverID, "-- Please Select -- ", new { @class = "form-control" })

对于 CREATE 函数来说它工作得很好。

//Create Get
public ActionResult Create()
{
    ViewBag.DriverID = new SelectList(db.Drivers, "driverID", "driverFullName");
    return View();
}

对于编辑功能(编辑拖车号码并离开司机NULL) 这是行不通的。

//Edit Get
public ActionResult Edit(int? id)
{
     if (id == null)
     {
         return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
     }
     Trailer trailer = db.Trailers.Find(id);
     if (trailer == null)
     {
         return HttpNotFound();
     }
     ViewBag.DriverID = new SelectList(db.Drivers.ToList(), "driverID", "driverFullName");
     return View(trailer);
}    

我有- 请选择 -在下拉列表中作为第一个空值.
我怎么能放一个NULL第一个空值的值(因此预告片将具有NO从下拉列表中选择驱动程序?


这是因为你的driverID财产在Drivers类不是nullable ?这就是为什么当你选择-- Please Select --它给出验证消息The driverID field is required所以你应该设置driverID to nullable like

public int? driverID {get;set;}

现在它的默认值是null当你选择-- Please Select --

Edit

另一种方法是手动添加默认对象,例如

in view

 @Html.DropDownListFor(x => x.Driver.driverID, (SelectList)ViewBag.DriverID, new { @class = "form-control" })

并在编辑操作中

public ActionResult Edit(int? id)
{
     if (id == null)
     {
         return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
     }
     Trailer trailer = db.Trailers.Find(id);
     if (trailer == null)
     {
         return HttpNotFound();
     }

     var list = db.Drivers.ToList();
     list.Insert(0, new Drivers() {driverFullName = "-- Please Select --"});
     ViewBag.DriverID = new SelectList(list, "driverID", "driverFullName"); //showing the list of drivers on edit page
     return View(trailer);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 ASP.NET MVC 中的 DropDownList 获取默认 NULL 值 的相关文章

  • 从父类调用子类方法

    a doStuff 方法是否可以在不编辑 A 类的情况下打印 B did stuff 如果是这样 我该怎么做 class Program static void Main string args A a new A B b new B a
  • 未解决的包含:“cocos2d.h” - Cocos2dx

    当我在 Eclipse 中导入 cocos2dx android 项目时 我的头文件上收到此警告 Unresolved inclusion cocos2d h 为什么是这样 它实际上困扰着我 该项目可以正确编译并运行 但我希望这种情况消失
  • 如何在列表框项目之间画一条线

    我希望能够用水平线分隔列表框中的每个项目 这只是我用于绘制项目的一些代码 private void symptomsList DrawItem object sender System Windows Forms DrawItemEvent
  • 获取没有非标准端口的原始 url (C#)

    第一个问题 环境 MVC C AppHarbor Problem 我正在调用 openid 提供商 并根据域生成绝对回调 url 在我的本地机器上 如果我点击的话 效果很好http localhost 12345 login Request
  • 使用 asp.net 发送 20,000 多封电子邮件

    我正在编写一个应用程序 需要向从我们的数据库中选择的学生发送大量电子邮件 每封电子邮件都将进行个性化 包括他们的姓名 学习课程等 因此需要一次发送一个 我可以在 SmtpClient 上循环执行此操作 但我担心我尝试发送的数字最终会遇到超时
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • 如何使用 Error.cshtml 视图中的过滤器放入 ViewBag 的数据?

    我有一个操作过滤器 负责将一些通用信息放入 ViewBag 中 供共享 Layout cshtml 文件中的所有视图使用 public class ProductInfoFilterAttribute ActionFilterAttribu
  • 如何使用C#在asp.net中下载xml文件

    我正在使用网络应用程序ASP NET 与 MVC3 我是 mvc3 的新手 我的网页上有一个下载按钮 当我要单击下载按钮时 我希望能够打开该 XML 文件 我尝试过一些代码更改动作结果但我没有打开文件 通过使用下面提到的代码 我收到一个下载
  • Github Action 在运行可执行文件时卡住

    我正在尝试设置运行google tests on a C repository using Github Actions正在运行的Windows Latest 构建过程完成 但是当运行测试时 它被卡住并且不执行从生成的可执行文件Visual
  • 从库中捕获主线程 SynchronizationContext 或 Dispatcher

    我有一个 C 库 希望能够将工作发送 发布到 主 ui 线程 如果存在 该库可供以下人员使用 一个winforms应用程序 本机应用程序 带 UI 控制台应用程序 没有 UI 在库中 我想在初始化期间捕获一些东西 Synchronizati
  • 当操作繁忙时,表单不执行任何操作(冻结)

    我有一个使用 C 的 WinForms 应用程序 我尝试从文件中读取一些数据并将其插入数据表中 当此操作很忙时 我的表单冻结并且无法移动它 有谁知道我该如何解决这个问题 这可能是因为您在 UI 线程上执行了操作 将文件和数据库操作移至另一个
  • 如何在 VBA 中声明接受 XlfOper (LPXLOPER) 类型参数的函数?

    我在之前的回答里发现了问题 https stackoverflow com q 19325258 159684一种无需注册即可调用 C xll 中定义的函数的方法 我之前使用 XLW 提供的注册基础结构 并且使用 XlfOper 类型在 V
  • 将 xml 反序列化为类,list<> 出现问题

    我有以下 XML
  • C++ 复制初始化和直接初始化,奇怪的情况

    在继续阅读本文之前 请阅读在 C 中 复制初始化和直接初始化之间有区别吗 https stackoverflow com questions 1051379 is there a difference in c between copy i
  • PDF 在 Safari 中隐藏 Jquery Modal

    这是与我有关的事情this https stackoverflow com questions 24052681 pdf hide jquery modal in ie问题 在 IE 中 我在对话框中使用 iframe 解决了问题 所以它工
  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • 控制到达非 void 函数末尾 -wreturn-type

    这是查找四个数字中的最大值的代码 include
  • Process.Start 阻塞

    我正在调用 Process Start 但它会阻止当前线程 pInfo new ProcessStartInfo C Windows notepad exe Start process mProcess new Process mProce
  • const、span 和迭代器的问题

    我尝试编写一个按索引迭代容器的迭代器 AIt and a const It两者都允许更改容器的内容 AConst it and a const Const it两者都禁止更改容器的内容 之后 我尝试写一个span
  • C 中的异或运算符

    在进行按位操作时 我在确定何时使用 XOR 运算符时遇到一些困难 按位与和或非常简单 当您想要屏蔽位时 请使用按位 AND 常见用例是 IP 寻址和子网掩码 当您想要打开位时 请使用包含或 然而 XOR 总是让我明白 我觉得如果在面试中被问

随机推荐

  • 将 Drupal 用户帐户导入 Rails,无需用户更改密码

    我想将一系列 Drupal 用户帐户导入到new铁轨项目 我正在使用 Devise 在 Rails 中进行用户身份验证 我希望能够将加密密码从 Drupal 导入到 Rails 中 以便用户在网站迁移时获得无缝体验 关于如何做到这一点有什么
  • 为什么 git revert 在这些情况下表现不同?

    假设我有ProjectA and ProjectB其中我只有一个名为test txt在这两个项目中并使用 git 跟踪它 第一次提交后 两个项目中的文件内容如下所示 one two three four 第二次提交后 两个项目中的文件内容如
  • dompdf:A4页面上的白边距

    我正在使用 dompdf 一个 PHP 库 创建 PDF 页面 但在设置正确的尺寸时遇到问题 当我使用 CSS 属性时 page size 21cm 29 7cm 例如 我想要页面的上半部分为红色 PDF 文件没问题 但打印后我得到了白色边
  • 如果我更改操作系统时区,事件(作为 json feed)、开始结束参数 unix 时间戳会有所不同

    我正在使用 fullcalendar 插件 如果有人可以帮助我 我将不胜感激 我通过 PHP URL 获取 json 事件 像这样的东西 calendar fullCalendar events myfeed php 因此 在返回事件的 p
  • Springboard 无法启动应用程序,错误为 3、0、4 等

    为什么 Xcode 无法在模拟器中启动应用程序 我在网上浏览了很多解决方案 但有时有效 有时无效 很多时候我解决问题的方法就是退出模拟器 删除应用程序 重置模拟器的内容设置 并清理和构建 但为什么我每次都要尝试其中的任何一个 所有 呢 Xc
  • 从命令行启动 Beyond Compare

    我已安装 Beyond Compare 3 C Program Files Beyond Compare 3 BCompare exe 和西格温 C Cygwin bin bash exe 我想要的是能够使用诸如以下的命令 diff
  • 核心图形和 GIF 颜色表

    我试图限制动画 GIF 的颜色数量 由一系列CGImageRef 但是 我在实际设置自定义颜色表时遇到困难 有谁知道如何使用核心显卡来做到这一点 我知道kCGImagePropertyGIFImageColorMap 下面是一些测试代码 大
  • 如何使用 $util.error 在 AppSync 中发送自定义错误

    我对 AppSync 错误处理有疑问 我想发送errorInfo对象以及错误响应 我尝试过 util error 根据文件 https docs aws amazon com appsync latest devguide resolver
  • 如何更改 Rails 中的 URL

    我有一个名为 Book 的资源 然后我有如下域 domain com books 272 但我想把它改成 domain com stories 272 仅针对 URL 不需要更改控制器 类等 在我有的路线中 map connect cont
  • 如何在JSP页面中包含angular2/4组件?

    我想在JSP页面中添加角度组件 有哪些可能的方法 描述更多 我在 JSP 中有一个应用程序动态 Web 应用程序 我创建的另一个应用程序是一个执行一些身份验证的角度组件 除了 object embedd 或 iframe 之外 还有其他方法
  • 使用共享库时的 Yarn 工作区最佳实践

    我有一个常见 或不太常见 的场景yarn workspaces并且在网上没有找到适合我的指南 纱线工作区看起来像这样 monorepo packages client admin theme lib Client用作我们的最终用户 它是一个
  • Databricks - Pyspark 与 Pandas

    我有一个 python 脚本 其中使用 pandas 来转换 操作我的数据 我知道我有一些 低效 的代码块 我的问题是 如果 pyspark 应该更快 我可以使用 pyspark 而不是 pandas 替换这些块 还是我需要将所有内容都放在
  • 如何在 C# 中读取 ID3 标签并将其写入 MP3? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有一个库可以在 C 中读取 ID3 标签并将其写入 MP3 我在搜索时实际上看到了几个 有人使用可
  • 在 Android junit 测试用例中获取测试项目的上下文

    有谁知道如何获得上下文测试项目在 Android junit 测试用例中 扩展 AndroidTestCase 注意 该测试不是仪器测试 注 2 我需要测试项目的上下文 而不是测试的实际应用程序的上下文 我需要它从测试项目的资产中加载一些文
  • 如何找到矩形周长中距离给定点最近的点?

    这是一个与语言无关的问题 给定一个矩形的尺寸l t w h 左 上 宽 高 和一个点x y 如何找到矩形周长上距离该点最近的点 我尝试用 Lua 解决这个问题 但任何其他语言都可以 到目前为止 这是我最大的努力 local function
  • 如何使用“pass”语句?

    我正在学习Python 我已经到达了关于pass陈述 我使用的指南将其定义为通常用作占位符的空语句 我仍然不完全明白这意味着什么 什么是简单 基本的情况 其中pass将使用声明以及为什么需要它 假设您正在设计一个新类 其中包含一些您还不想实
  • 数组语法与指针语法和代码生成?

    在书里 理解和使用 C 指针 作者 理查德 里斯 http shop oreilly com product 0636920028000 do第85页说 int vector 5 1 2 3 4 5 生成的代码是vector i 与生成的代
  • 让 QLineEdit 检测 Tab 键按下事件?

    我在文档中找不到任何内容 我找到了一个使用 PyQt 或其他东西的解决方案 但我宁愿不必使用它 另外 如果有信号就好了 但看起来没有 1 当您按照 Sam 建议安装事件过滤器时 m lineEdit gt installEventFilte
  • 我应该将函数的结果存储到数组中吗?

    我有一个这样的函数 function time elapsed string ptime date time strtotime 1348 10 10 04 30 01 ptime year date Y date time month d
  • 从 ASP.NET MVC 中的 DropDownList 获取默认 NULL 值

    我正在创建一个Trailer对于现有的Driver 可以从下拉列表中选择 Html DropDownListFor x gt x Driver driverID SelectList ViewBag DriverID Please Sele