如何在cshtml中检查null / empty值

时间:2013-06-24 18:34:25

标签: c# visual-studio-2010 asp.net-mvc-3 razor

<b>Start Date: </b>@employee["StartDate"].<br />

使用MVC Razor 3 / C#,如何在cshtml中检查employee["StartDate"]值是否为空/空?所以,如果是,我改为显示:

<b>Start Date: </b>Unknown.<br />

我试过了:

@if(employee["StartDate"] == null){<b>Start Date: </b>Unknown.<br />} 

但这不起作用。

5 个答案:

答案 0 :(得分:10)

尝试

<b>Start Date: </b>@(employee["StartDate"] ?? "Unknown").<br />

??返回左侧值,如果左侧值为null,则返回右侧值。

答案 1 :(得分:3)

如果您只担心空或空

@(String.IsNullOrEmpty(employee["StartDate"])?"Unknow":employee["StartDate"])

答案 2 :(得分:3)

我最终使用了这个:

@if(employee["StartDate"].ToString() == ""){<b>Start Date: </b>Unknown.<br />}
else{<Start Date: </b>@employee["StartDate"].<br />}

但有没有“更清洁”的方式来写这个?

答案 3 :(得分:1)

如果startDate是DateTime,请尝试将其与DateTime.MinValue进行比较。

如果您遇到更多问题,可以在razor代码中放置断点,以查看该字段究竟是什么

答案 4 :(得分:-1)

尝试过如下,我已经厌倦了类似的空检查,它应该工作

@if(employee["StartDate"] != DateTime.MinValue){
  <Start Date: </b>@employee["StartDate"].<br />
}
else{
  <b>Start Date: </b>Unknown.<br />
}