首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

String.Format变换日期格式,当日期为空值出错

2012-09-18 
String.Format转换日期格式,当日期为空值出错用asp.net mvc3 做日期的模板,在share目录下建立DisplayTempl

String.Format转换日期格式,当日期为空值出错
用asp.net mvc3 做日期的模板,在share目录下建立DisplayTemplates文件夹,并生成一个DateTime.cshtml,里面的代码是
@String.Format("{0:d}",Model.Date),当Model.Date值不为空时,日期型的数据能正常显示,当Model.Date值传入空值时就提示出错“无法对 null 引用执行运行时绑定”,请问如何处理Model.Date的空值,谢谢!

[解决办法]
@String.Format("{0:d}",Model.Date == null?"空":Model.Date);
[解决办法]
@String.Format("{0:d}",Model.Date == null?"空":Model.Date);

 因为有这个格式{0:d}存在,所以,Date必须要有值。 要处理没有值的情况,那么就不应该在String.Format("{0:d}",Model.Date)这里面处理

 应该是像这样:

if(Model.Date != null....)
@String.Format("{0:d}",Model.Date
else
..........
[解决办法]
这是我以前给数据库插入DateTime类型为空时的处理办法。你参考一下。
DateTime birthday;
if(birthday=="")
  
sqlparas[6]=new sqlparas("@birthday",DBNull.value);
  
else
  
sqlparas[6]=new sqlparas("@birthday",birthday);
[解决办法]
应该先判断在显示。
当日期为空时,直接 string.Empty,日期不为空时再显示!
[解决办法]
如果为空不让他转换不就行了吗
[解决办法]

探讨

@Model.Date == null?"空":String.Format("{0:d}",Model.Date);
这样行

[解决办法]
探讨

引用:

@Model.Date == null?"空":String.Format("{0:d}",Model.Date);
这样行

应该是这样的,逻辑判断在外面,Format方法要的参数是日期类型的,当值为空时但让报错了。

[解决办法]
探讨

你像我一样写“空”是不行的引用:
@String.Format("{0:d}",Model.Date == null?"空":Model.Date);

热点排行