【问题标题】:asp.net grid view show with ConvertTimeFromUtc使用 ConvertTimeFromUtc 显示 asp.net 网格视图
【发布时间】:2013-07-29 21:07:54
【问题描述】:
<asp:SqlDataSource ID="SqlDS1" runat="server" ConnectionString="<%$ ConnectionStrings:phiSQL %>"                
SelectCommand="select ID, AnalasisDate from ProgTbl  "></asp:SqlDataSource>

<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDS1" Width="1200px"
    AutoGenerateColumns="False"  OnRowCommand="GridView1_OnRowCommand" 
    AllowSorting="True">
<Columns>
    <asp:BoundField DataField="ID"  HeaderText="Identification"/>
    <asp:BoundField DataField="AnalasisDate"  HeaderText="Time Stamp"/>
         ...

我需要将 Analasis 日期转换为以下日期:

TimeZoneInfo.ConvertTimeFromUtc(result.AnalasisDate.Value, tz).

我想知道是否有办法在 aspx.cs 文件中执行此操作,以便在显示时显示 ConvertTimeFromUtc 版本。

我想知道是否可以在 GridView1_RowDataBound 中做些什么来更新 AnalasisDate 的值

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    您可以在标记中使用TemplateField

    <asp:TemplateField HeaderText="Time Stamp">
        <ItemTemplate>
            <%# TimeZoneInfo.ConvertTimeFromUtc(Eval(result.AnalasisDate), GetTimeZone()) %>
        </ItemTemplate>
    </asp:TemplateField>
    

    这里的GetTimeZone 是一个受保护的或公共的方法,应该在类后面的代码中声明并返回必要的时区。

    或者,您可以将所有转换逻辑留给函数后面的代码,比如ConvertFromUtc,然后在&lt;ItemTemplate &gt; 中调用它:

    <asp:TemplateField HeaderText="Time Stamp">
        <ItemTemplate>
            <%# ConvertFromUtc(Eval(result.AnalasisDate)) %>
        </ItemTemplate>
    </asp:TemplateField>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-07
      • 1970-01-01
      • 1970-01-01
      • 2011-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多