c# - ASP.NET 内联脚本

标签 c# asp.net scripting inline

我有一个 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/

相关文章:

c# - 如何在 ASP.NET CORE 中签署 XML SAML 断言

java - 是否有一种独立于语言的方法可以将函数添加到 JSR223 脚本绑定(bind)?

javascript - 如何在javascript中获取没有类名的元素

c# - 如何使用 include in 子查询进行左外连接?

c# - 当字符串为数字时,如何在计算值的同时按字母顺序对字符串进行排序?

c# - 是否可以在 app.config 中的 "supportedRuntime"中指定 .NET 服务包?

asp.net - ASP.Net 变量的范围

c# - CrystalReportViewer打印

c - 如何使用 C 文件打开函数打开 .ttcn 文件?

javascript - 基于比较 c# 中 gridview 的文本框值来启用或禁用按钮