直接在ASPX页面中渲染DateTime.Now

时间:2012-01-16 07:18:08

标签: asp.net

我试图直接在aspx页面中执行以下操作,但它没有显示日期值。我不想从背后的代码中做到这一点。我在这里错过了一些小事吗?请建议。

<asp:Literal ID="ltrDate" Text='<% DateTime.Now.ToLongTimeString() %>' runat="server"></asp:Literal>

甚至在表达式&lt;%#DateTime.Now.ToLongTimeString()%&gt;中使用哈希不起作用。

2 个答案:

答案 0 :(得分:17)

如果您不需要从代码隐藏中访问Literal控件的值,则无需使用它。相反,您可以直接在页面中使用以下表达式来打印日期:

<%= DateTime.Now.ToLongTimeString() %>

使用服务器控件,您只能在页面标记的属性值中放置静态文本,数据绑定表达式<%# xx %>或表达式构建器<%$ %>

有关每种方法的详细信息,请参阅此related question

答案 1 :(得分:7)

使用数据绑定表达式(例如<%# DateTime.Now.ToLongTimeString() %>)时,必须从代码隐藏中调用Page.DataBind()(或ltrDate.DataBind(),如果这是唯一的数据绑定控件)(例如在Page_Load中)