2012-11-21 111 views
1

我有一個提交的模板,如下所列。我還需要顯示DateTime的毫秒部分。使用Eval在TemplateField中顯示毫秒

我已閱讀dateValue.ToString("fff")格式的http://msdn.microsoft.com/en-us/library/bb882581.aspxHow to: Display Milliseconds in Date and Time Values

使用Eval在模板字段中顯示它的最佳方式是什麼?

CODE

<asp:TemplateField HeaderText="Event Time"> 

    <ItemTemplate> 

     <asp:Literal ID="ltlTime" runat="server" Text='<%# Eval("LastChangeTime") %>' ></asp:Literal> 
     <asp:HiddenField ID="hdnMilliSeconds" runat="server" Value='<%# ((DateTime)Eval("LastChangeTime")).ToString("fff") %>' /> 

    </ItemTemplate> 
</asp:TemplateField> 

參考:

  1. Eval/Bind TimeOfDay property without milliseconds?

回答

0

感謝@kj午睡。我想到了。對於其他人的利益,我將它張貼在這裏:

我用以下

'<%# ((DateTime)Eval("LastChangeTime")).ToString("MM/dd/yyyy hh:mm:ss.fff tt") %>' 

CODE

<asp:TemplateField HeaderText="Application ID"> 
         <ItemTemplate> 
          <asp:Literal ID="ltlApplicationID" runat="server" Text='<%# Eval("ApplicationID") %>'></asp:Literal> 
          <asp:HiddenField ID="hdnLastChangeTime" runat="server" Value='<%# ((DateTime)Eval("LastChangeTime")).ToString("MM/dd/yyyy hh:mm:ss.fff tt") %>' /> 
         </ItemTemplate> 
    </asp:TemplateField> 

後面的代碼

protected void Application_RowCommand(Object sender, CommandEventArgs e) 
    { 
     if (e != null) 
     { 
      int rowIndex = Convert.ToInt32(e.CommandArgument, CultureInfo.InvariantCulture); 
      string applicationID = (((System.Web.UI.WebControls.Literal)grdApplications.Rows[rowIndex].Cells[1].Controls[1]).Text).Trim(); 
      string lastChangeTimeString = (((System.Web.UI.WebControls.HiddenField)grdApplications.Rows[rowIndex].Cells[1].Controls[3]).Value).Trim(); 

      DateTime lastChangeTime = Convert.ToDateTime(lastChangeTimeString); 

     } 
    } 
0

使用

select convert(varchar, your_date_field, 121) as LastChangeTime 

在你的SQL查詢中。 然後訪問 「LastChangeTime」 中的eval

+0

我需要在datetime數據類型的數據。這個解決方案對我不起作用 – Lijo

1

試試這個

<%# Convert.ToDateTime(Eval("LastChangeTime")).ToString("FFF") %>