【发布时间】:2010-09-23 18:36:31
【问题描述】:
我有一个 DateTime 对象,我需要在自定义网格控件中打印它。
我要打印的数据类型是 dd-mm-yyyy 格式的日期。
该值可以是填充的,也可以是空白的。
如果它被填充,它将被解析为DateTime,然后打印为默认的ToString。
对于每一行,我可以使用
<CellTemplate>
<asp:Literal ID="Literal2" runat="server" Text="<%# Container.Value %>"></asp:Literal>
</CellTemplate>
但这会打印日期的默认长版本。我想要ToShortDateString()的格式。
所以我尝试修改为:
<CellTemplate>
<asp:Literal ID="Literal2" runat="server" Text="<%# Convert.ToDateTime(Container.Value).ToShortTimeString()%>"></asp:Literal>
</CellTemplate>
这按预期工作。
现在我遇到了空日期的问题,
Convert.ToDateTime()
在空字符串上,它将打印默认的 DateTime。
有没有一种方法可以在我的 aspx 代码中创建一个 If 语句,如果它不是空字符串,则只执行 Convert.ToDateTime?
【问题讨论】:
标签: c# asp.net scripting inline