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,日期不为空时再显示!
------解决方案--------------------如果为空不让他转换不就行了吗
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------