有一句代碼:

@Html.DisplayFor(modelItem => item.SellDate, "RegularDate")

RegularDate.cshtml 內容如下:

@model System.DateTime
@Model.ToString("yyyy/MM/dd")

目的是將數據庫里的 DateTime 顯示為完整日期,如 2019/08/09,時間部份舍去。

當 SellDate 不為空值時,用 "RegularDate"  這個 templateName 來 render SellDate 很方便,特別是批量應用該 templateName的情況下。

但是數據庫里“SellDate”有可能為空,這樣會出一個錯誤:

The model item passed into the dictionary is null, but this dictionary requires a non-null model item of type 'System.DateTime'.
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: The model item passed into the dictionary is null, but this dictionary requires a non-null model item of type 'System.DateTime'.源错误: 行 86:             <td>
行 87:                 @**@
行 88:                 @Html.DisplayFor(modelItem => item.SellDate, "MyDate")
行 89:             </td>
行 90:             <td>源文件: D:\****\Index.cshtml    行: 88 這

這樣就有點不適合了,其實有另外一種更簡便的方法:

采用 ?. 操作符,這是一個 C# 語法糖:

@(item.SellDate?.ToString("yyyy/MM/dd"))

當 item.SellDate 不為空時就執行 .ToString("yyyy/MM/dd")。

相當于

if (!item.SellDate != null)item.SellDate.ToString("yyyy/MM/dd");

妙。

转载于:https://www.cnblogs.com/keepee/p/11326750.html

C# ?. 判斷Null值相关推荐

  1. Hashtable,HashMap,ConcurrentHashMap都是Map的实现类,它们在处理null值的存储上有细微的区别,下列哪些说法是正确的

    多选 Hashtable,HashMap,ConcurrentHashMap都是Map的实现类,它们在处理null值的存储上有细微的区别,下列哪些说法是正确的:答案在文末 A. Hashtable的K ...

  2. 判斷作業系統為 64bit 或 32bit z

    有時我們在開發Windows 桌面應用程式時,會發生一些弔詭的事情,作業系統位元數就是一個蠻重要的小細節,若您寫的應用程式在Windows 的32bit 作業系統上可以完美的運行,但不見得在64bit ...

  3. hive建表设置如果为null_Hive表中的NULL值处理

    1 MySQL 到 Hive 表的sqoop任务把 原本的NULL 变成字符串 'null' 了 alter table ${table_name} SET SERDEPROPERTIES('seri ...

  4. js设置input输入框为必选输入框,判断空格或null值

    设置input为输入框为必选输入框,即判空: <form action="demo-form.php">Username:<span style="co ...

  5. Spark开发注意: collect_list、collect_set会去除Null值

    今天我们踩到一个collect_list的坑,collect_list的结果不包含null值 name city 张三 广州 null 广州 李四 深圳 对city作group by后collect_ ...

  6. mysql null 排前面_Mysql实现null值排在最前/最后的方法示例

    前言 我们已经知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作. 为了处理这种情况,MyS ...

  7. TSQL 聚合函数忽略NULL值

    max,min,sum,avg聚合函数会忽略null值,但不代表聚合函数不返回null值,如果表为空表,或聚合列都是null,则返回null.count 聚合函数忽略null值,如果聚合列都是null ...

  8. KV结构的集合,在处理null值的存储上有细微的区别,下列哪些说法是正确的

    单选 KV结构的集合,在处理null值的存储上有细微的区别,下列哪些说法是正确的:答案在文末 A. TreeMap的key不可以为null B. TreeMap的key可以为null C. Concu ...

  9. 使用复合索引代替单键索引,来避免单键有null值的情况

    查看原表: SQL> select count(*) from t1;COUNT(*) ----------3229088SQL> select count(*) from t1 wher ...

最新文章

  1. 中计算散度的函数_理解 Kullback–Leibler 散度的近似
  2. wampsever的mysql密码_WampServer修改Mysql密码的步骤
  3. [LeetCode] Intersection of Two Linked Lists 求两个链表的交点
  4. [云炬创业基础笔记]第六章商业模式测试18
  5. Scala模式匹配:条件守卫
  6. 超牛逼的异步协程爬虫
  7. chardet java_java实现文件编码监测
  8. qt设置路径为应用程序启动路径
  9. C#中异步多线程的常见用法
  10. 【SpringBoot】Spring+Druid初级配置
  11. vscode regex previewer插件怎么用_分享五款开挂神器!助你效率倍增!做PPT怎么能不会用插件?...
  12. 都觉得自己亏了,那谁赚了——评英国脱欧与俄白统一
  13. Apache 模块 mod_cache应用
  14. 在线直播网站源码开发,音视频同步的处理方案及选择
  15. 【一年总结】我的大三
  16. 分布式计算,网格计算和云计算的异同
  17. 娱乐大数据:《小时代》是属于谁的小时代?
  18. R语言绘制频数分布直方图或密度分布曲线
  19. 判断手机设备是否支持5G无线频段
  20. “无须”与“无需”最简易区别法

热门文章

  1. 计算机系统时间无法更改,电脑时间不能修改|系统时间改不了 四个处理办法
  2. Linux并发与竞争介绍(原子操作、自旋锁、信号量、互斥体)
  3. 433M射频遥控灯、震动感应灯、WIFI避障小车
  4. emacs python debug_我常用的 Python 调试工具 - 博客 - 伯乐在线
  5. 解决git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Pleas
  6. SpringCloud版本名字
  7. 学习笔记-----本地事务
  8. docker ps 和docker ps -a
  9. ad如何设置pcb板子形状_俺老孙画个圈板框与安装孔PCB系列教程110
  10. Java 类在 Tomcat 中是如何加载的?