我有一个模板,如下所示。我还需要显示DateTime的毫秒部分。
我已阅读http://msdn.microsoft.com/en-us/library/bb882581.aspx dateValue.ToString("fff")
中的How 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>
参考:
答案 0 :(得分:1)
试试这个
<%# Convert.ToDateTime(Eval("LastChangeTime")).ToString("FFF") %>
答案 1 :(得分:0)
使用
select convert(varchar, your_date_field, 121) as LastChangeTime
在您的SQL查询中。 然后在eval中访问“LastChangeTime”
答案 2 :(得分: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);
}
}