2016-02-26 1 views
5

私はC#の新機能ですので、私の質問はばかげているかもしれませんが、私は本当に自分で解決することはできません&グーグル。年が跳躍しているかどうかを確認する必要があります。年がCで跳躍しているかどうかを確認する#

<mso:if runat=server condition='<%# DateTime.IsLeapYear(2000)%>'> 

が問題ありません。しかし、私は年をどこかから得る必要があります。 MS SQL:

YEAR(getDate()) AS yarr 

...

<mso:if runat=server condition='<%# DateTime.IsLeapYear(<%#Convert.ToInt32(DataBinder.Eval(Container.DataItem, "yarr"))%>)%>'> 

エラー:

CS1040: Preprocessor directives must appear as the first non-whitespace character on a line

しかし、なぜ?年の前にスペースを見ないでください。

答えて

8

ネストされたスクリプトレット<%# %>を2回使用しましたが、1つを削除しました。

condition='<%# DateTime.IsLeapYear(Convert.ToInt32(DataBinder.Eval(Container.DataItem, "yarr")))%>' 
+0

は残念ながらありません、「サーバーのタグがうまく形成されていない」 – Cove

+0

一つ右括弧は私の答え、更新されたコードを用いた試験から欠落していました。 – Adil

+0

MS SQLを使用しない場合、より良い方法は年をチェックすることです。 ... Cove

関連する問題