<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的价值
答案 0 :(得分:0)
您可以使用TemplateField
进行标记:
<asp:TemplateField HeaderText="Time Stamp">
<ItemTemplate>
<%# TimeZoneInfo.ConvertTimeFromUtc(Eval(result.AnalasisDate), GetTimeZone()) %>
</ItemTemplate>
</asp:TemplateField>
此处GetTimeZone
是受保护或公共方法,应在类后面的代码中声明并返回必要的时区。
或者,您可以将所有转化逻辑留给代码隐藏功能,比如ConvertFromUtc
,并在<ItemTemplate >
内调用它:
<asp:TemplateField HeaderText="Time Stamp">
<ItemTemplate>
<%# ConvertFromUtc(Eval(result.AnalasisDate)) %>
</ItemTemplate>
</asp:TemplateField>