<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 />}
但这不起作用。
答案 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 />
}