2012-01-16 69 views
5

我試圖直接進入aspx頁面,但它沒有顯示日期值。我不想從背後的代碼中做到這一點。我在這裏錯過了一些小事嗎?請建議。Render DateTime.Now直接在ASPX頁面

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

即使在表達<%#DateTime.Now.ToLongTimeString()%>使用散列的不起作用。

+1

你有沒有試過這種方式? <%Response.Write(DateTime.Now.ToLongTimeString());%> – 2012-01-16 07:21:11

+0

那麼它顯示了什麼? – 2012-01-16 07:24:06

+0

我試過'。但它沒有奏效。它顯示爲空。 – Karan 2012-01-16 07:32:34

回答

7

使用數據綁定表達式(如<%# DateTime.Now.ToLongTimeString() %>)時,您必須從代碼隱藏(例如Page_Load)中調用Page.DataBind()(或ltrDate.DataBind(),如果這是唯一的數據綁定控件)。

16

如果您不需要從代碼隱藏中訪問Literal控件的值,則不需要使用它。相反,你可以用下面的表達你的頁面直接要打印日期:

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

服務器控件,你只能把靜態文字,數據綁定表達式<%# xx %>,或表達的建設者<%$ %>內頁面標記中的屬性值。

有關每種方法的更多詳細信息,請參見此related question