2012-02-06 17 views
0

これは文法的な質問ですが、私はそれに苦労しました。日付フィールド型の条件付きIFロジック

ERPシステムでユーザー定義フィールドを作成しました。 NULLの代わりに、ERPは1753-01-01 00:00:00.000を入力します。この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

+0

私はそれをサーバー側でやっても構いません、私はちょうどそこにASPXファイルを変更する簡単な方法があると思っていました。それをするために。これはイントラネットのページなので、たくさんのコードを書かずにやりたいと思っていました。 – Andrew

答えて

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")%>' />