开发工具与关键技术:MVC
作者:文泽钦
撰写时间:2019年 6月 13 日
从数据库中查询出来的时间类型直接传到页面上是无法显示的,有时候直接在查询出来的字符串后点ToString()会报错,也转换不过来,那么我们先看看查询出的数据直接点ToString(),会咋样。
这里有三个日期,我在本年生日那加了一个ToString()直接报错了,这样肯定是启动不了了,那么我们只能先把转换类型去掉,先不要ToString(),然后执行看看效果。
没有转换的日期或者直接转换的数据就会像这样显示,一个/Date一大串数字,这样用户应该不能看懂吧?
那么现在该怎么办呢?那么我们就要写这一个实体类了,第一步先把时间类型转换,这个实体的写法。
//声明变量
private string Time;
public string TimeType//控制器与页面接收值TimeType
{
set{
try{
//转换类型
DateTime dt = Convert.ToDateTime(value);
//类型的格式
Time = dt.ToString("yyyy-MM-dd");
}
catch (Exception) {
Time = value;
}
}
get{
//返回值
return Time;
}}
第二步,回到写查询方法的控制器那边把返回值Openacardate,改成刚刚在实体类那声明的这个变量TimeType。
现在在开卡日期后面加ToString()也没有报错了。我们把控制器Openacardate改成TimeType了,在页面上也要对应地把接收变量名改过来,不然页面接收不到对应的数据,是没办法显示数据的。
最后一步,就开始执行看看是否已经可以把日期转换成功了。
现在已经是把开卡日期转换过来了,还有消费、生日的没有转,每转一个日期就要写一次上面那个转换实体类,应该有简单的或者可以封装的写法,这个我还没学到。