2012-02-06 53 views
0

這是更多的語法問題(我認爲),但我一直在努力。條件IF與日期字段類型的邏輯

我們在ERP系統中創建了用戶定義的字段。 ERP使用1753-01-01 00:00:00.000填充它,而不是NULL。我有一個引用這個UDF的表單視圖控件。如果是1753值,我希望能夠有條件地隱藏日期。

所以我想要做的ASP頁面(而不是代碼隱藏)以下:

如果字段= 1753年1月1日00:00:00.000,則值= 「」 如果字段= 1753 -01-01 00:00:00.000,則值=場

這裏是我的標籤:

<asp:Label ID="lblReactDate" runat="server" 
           Text='<%# Bind("UDF_ML_REACT", "{0:MM/dd/yyyy}") %>' /> 

我想要做的事,如:

<asp:Label ID="lblReactDate" runat="server" Text='<%# Bind("UDF_ML_REACT")%> == "1753-01-01 00:00:00.000" ? "" : <%# Bind("UDF_ML_REACT")%>' 

我已經嘗試了一些變體,並且似乎認爲我碰到了語法牆,或者這是無法完成的。我覺得還有什麼讓我失望的是日期格式。

+0

你不想在服務器端做。只需在Javascript中掌握控制權並使用條件語句設置該值即可。 http://msdn.microsoft.com/en-us/library/aa479011.aspx – Ash 2012-02-06 17:17:08

+0

我不介意做它的服務器端,我只是認爲會有一個簡單的方法來修改ASPX文件,而不是編寫代碼去做吧。這是一個內聯網頁面,所以我想在沒有寫很多代碼的情況下這樣做。 – Andrew 2012-02-06 17:25:13

回答

2

更改綁定到評估和演示,因爲你沒有使用雙向綁定的標籤,你也需要轉換爲字符串使用==

<asp:Label ID="lblReactDate" runat="server" 
    Text='<%# Eval("UDF_ML_REACT").ToString() == "1753-01-01 00:00:00.000" 
        ? "" : Eval("UDF_ML_REACT", "{0:MM/dd/yyyy}")%>' /> 

<asp:Label ID="lblReactDate" runat="server" 
    Text='<%# Eval("UDF_ML_REACT","{0:yyyy}").ToString() == "1753" 
        ? "" : Eval("UDF_ML_REACT", "{0:MM/dd/yyyy}")%>' /> 
0

這裏是另一個「變異」爲你試試,萬一別人不工作:

<asp:Label ID="lblReactDate" runat="server" Text='<%# (string)DataBinder.Eval(Container, "DataItem.UDF_ML_REACT") == "1753-01-01 00:00:00.000" ? "" : DataBinder.Eval(Container, "UDF_ML_REACT")%>' />