日期:2014-05-18  浏览次数:20445 次

ItemTemplate前台显示根据有endtime字段判断显示为"有效"或则"过期" 请求支援
gridview中动态显示记录.
其中有一列中.要根据DataBinder.Eval(Container.DataItem, "endtime ")
和当前系统时间的对比.判断ItemTemplate里显示 "有效 "或者 "过期 "

大家有何办法.
记录存在ds表里.


------解决方案--------------------
Convert.ToDateTime(Eval(Container.DataItem, "endtime "))> DateTime.Now? "过期 ": "有效 "
------解决方案--------------------
tds__609的方法很迅速,但是在界面上维护代码不方便,我是这么做的:
在页面后台代码里面写一个public string 的方法,比如:
public string _getState(DateTime endtime)
{
//这里将endtime与当前时间做运算,如果过期了就返回 "过期 ",如果没有过期就返回 "有效 "
}

然后在前台界面将数据库内容转换成DateTime类型做为参数传入这个方法,比如
<% # _getState(Convert.ToDateTime(Eval(Container.DataItem, "endtime "))) %>

其实可以发展一下,将那个_getState做成全局静态方法,以后所有用到该方法的代码如果业务逻辑有变,只用更改这个方法的内容就行,不用每个页面去维护了。