我想在gridview中設置一個標籤,如果它返回(因爲它是一個默認日期,不需要)不顯示特定的日期。使用Eval來檢查特定的日期值
我用的代碼是
<%# 'Convert.ToString(Eval("DateTaken")).Equals("01/01/1899") ? "" : Eval("DateTaken")'%>
不幸的是,當我嘗試編譯代碼將無法運行。我試圖通過研究找到答案,但一直未能這樣做。
我想在gridview中設置一個標籤,如果它返回(因爲它是一個默認日期,不需要)不顯示特定的日期。使用Eval來檢查特定的日期值
我用的代碼是
<%# 'Convert.ToString(Eval("DateTaken")).Equals("01/01/1899") ? "" : Eval("DateTaken")'%>
不幸的是,當我嘗試編譯代碼將無法運行。我試圖通過研究找到答案,但一直未能這樣做。
<%# 'Convert.ToString(Eval("DateTaken")).Equals("01/01/1899") ? "" : Eval("DateTaken")'%>
據我所知,這是無效的語法。你用單引號'
來包裝你的語句,這很可能使解析器混淆很多。我不知道你打算他們做什麼,但我建議嘗試沒有:
<%# Convert.ToString(Eval("DateTaken")).Equals("01/01/1899") ? "" : Eval("DateTaken")%>
我不能測試這個,但它看起來應該工作。
此外,爲了比較(我假設你已經在其他地方首先進行了測試),我懷疑你可能有問題,Convert.ToString
可能包含一個時間元素。相反,我會建議指定要輸出的字符串格式。或者甚至更好,假設它是一個DateTime,你將它作爲DateTime進行比較。以下任何一項都應該作爲可靠的比較工作
(((DateTime)Eval("DateTaken")).ToString("yyyy-MM-dd")=="2014-03-05")
(((DateTime)Eval("DateTaken")).Date==new DateTime(2014,03,05))
它使用克里斯的答案的一部分,但等於不起作用。將此值更改爲包含年份時解析值
我在我的答案中增加了一個新部分來談論比較。我並沒有真正看到你的邏輯,只是在你遇到的第一個問題。此外,這不應該真的被添加爲答案,因爲它實際上並沒有回答你的問題本身。也許你打算評論我的答案? – Chris
它給您帶來的錯誤是什麼?我假設當你說它不會運行時,你會得到一些錯誤警告,可能會指出你正在遇到的確切問題... – Chris
另外我剛剛注意到你的塊的內容被包裹在單引號中( ''')。這是否正確(即原來的代碼是什麼)?我一眼就不知道他們應該在那裏。 – Chris
它正在編譯。它是在說失蹤;和失蹤:。這是標記 – Andy5