我试图直接在aspx页面中执行以下操作,但它没有显示日期值。我不想从背后的代码中做到这一点。我在这里错过了一些小事吗?请建议。
<asp:Literal ID="ltrDate" Text='<% DateTime.Now.ToLongTimeString() %>' runat="server"></asp:Literal>
甚至在表达式&lt;%#DateTime.Now.ToLongTimeString()%&gt;中使用哈希不起作用。
答案 0 :(得分:17)
如果您不需要从代码隐藏中访问Literal控件的值,则无需使用它。相反,您可以直接在页面中使用以下表达式来打印日期:
<%= DateTime.Now.ToLongTimeString() %>
使用服务器控件,您只能在页面标记的属性值中放置静态文本,数据绑定表达式<%# xx %>
或表达式构建器<%$ %>
。
有关每种方法的详细信息,请参阅此related question。
答案 1 :(得分:7)
使用数据绑定表达式(例如<%# DateTime.Now.ToLongTimeString() %>
)时,必须从代码隐藏中调用Page.DataBind()
(或ltrDate.DataBind()
,如果这是唯一的数据绑定控件)(例如在Page_Load中)