我对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:预处理程序指令必须显示为第一个 一行中的非空格字符
但为什么呢?在一年之前看不到任何空间。
答案 0 :(得分:8)
您使用了两次嵌套的scriptlet <%# %>
,删除了一个。
condition='<%# DateTime.IsLeapYear(Convert.ToInt32(DataBinder.Eval(Container.DataItem, "yarr")))%>'