我有一个 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
?
最佳答案
Container.Value.Length > 0 ? Convert.ToDateTime(Container.Value).ToShortTimeString() : ""
您还应该能够将 Container.Value
传递给您定义范围内的任何方法。
关于c# - ASP.NET 内联脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/314232/