【问题标题】:ASP.Net Listview Eval time formatASP.Net Listview Eval 时间格式
【发布时间】:2013-08-23 19:36:52
【问题描述】:

我似乎无法为带有 VB 的 ASP.Net Listview 上的模板中的标签文本中的 Eval 语句获取正确的格式。我确实尝试过逃避时间,但这仍然导致格式无效。 SQL Server 中绑定数据的数据类型为 time(0)。

Text='<%# Eval("Time", "{0:hh:mm tt}") %>'

之前有没有人遇到过这个看似简单的问题并找到了正确的格式?我确实研究了http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx 上发布的内容,但没有找到解决此问题的方法。

【问题讨论】:

    标签: asp.net vb.net


    【解决方案1】:

    这个让我把头发扯了一段时间......但我找到了解决方案:

    格式字符串中的第二个冒号需要用反斜杠转义。

    试试这个,它应该可以工作:

    Text='<%# Eval("Time", "{0:hh\:mm}") %>'
    

    【讨论】:

    • 智能感知在标记中给出的“无法识别的转义序列”。
    【解决方案2】:

    试试

    "{0:hh.mm tt}")
    

    这有帮助吗?

    【讨论】:

      【解决方案3】:

      希望这能解决你的问题。

      Text='<%#String.Format(System.Globalization.CultureInfo.InvariantCulture,"{0:hh:mm tt}",Eval("Time")) %>' 
      

      【讨论】:

        【解决方案4】:

        您可以将其添加到您的标签中:

            DataFormatString="{0:dd/MM/yyyy}" //display date only
            DataFormatString="{0:hh:mm tt}"  //display time only
            DataFormatString="{0:dd/MM/yyyy hh:mm tt}"  //display both date and time
            Text='<%# Eval("Time") %>'
        

        此链接也将帮助您解决任何此类问题

        http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.boundfield.dataformatstring.aspx

        【讨论】:

        • DataFormatString 只能在 GridView 中使用,不能在 ListView 中使用。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-28
        • 1970-01-01
        • 2018-02-13
        • 1970-01-01
        相关资源
        最近更新 更多