2013-07-29 25 views
0
<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"/> 
     ... 

網格視圖顯示我需要的私立大學日期轉換爲以下幾點:asp.net與ConvertTimeFromUtc

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

我想知道是否有一種方法在aspx.cs文件要做到這一點以便它在顯示時顯示ConvertTimeFromUtc版本。

我在想,如果有什麼我可以GridView1_RowDataBound做到及時更新AnalasisDate

的價值

回答

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>