问题描述
如何转换成C#语言呢?<asp:LinkButtonID="LinkButton2"Runat="server"CommandName="stop"CommandArgument='<%#DataBinder.Eval(Container.DataItem,"id")%>'Enabled='<%#(DataBinder.Eval(Container.DataItem,"endtime"))<=System.DateTime.Now?"False":"True"%>'>这样对吗?停止招聘</asp:LinkButton>
解决方案
解决方案二:
Enabled='<%#Convert.ToDateTime(DataBinder.Eval(Container.DataItem,"endtime"))<=System.DateTime.Now?"False":"True"%>'
解决方案三:
大多数时候直接用Eval()就可以的
解决方案四:
<asp:LinkButtonID="LinkButton2"Runat="server"CommandName="stop"CommandArgument='<%#DataBinder.Eval(Container.DataItem,"id")%>'Enabled=<%#(DateTime)Eval("endtime")>System.DateTime.Now%>>
解决方案五:
引用1楼dongxinxi的回复:
Enabled='<%#Convert.ToDateTime(DataBinder.Eval(Container.DataItem,"endtime"))<=System.DateTime.Now?"False":"True"%>'
+1
解决方案六:
<ItemTemplate><asp:LinkButtonID="sendmsg"CommandName="sendmsg"CommandArgument='<%#(string)DataBinder.Eval(Container.DataItem,"userid")%>'Runat="server"Enabled='<%#((string)Eval("commsgstate"))=="0"?"true":"false"%>'><%#((string)DataBinder.Eval(Container.DataItem,"commsgstate"))=="0"?"<fontcolor=#009900>发送</font>":"<fontcolor=#cc3300>已发送</font>"%></asp:LinkButton></ItemTemplate>这个咋解决啊,Enable的问题,大虾们,急救啊!
解决方案七:
遇到稍微复杂的绑定表达式,你可以把它们整个交给c#方法来计算。例如ForeColor='<%#GetForeColor((string)Eval("id"),(DateTime)Eval("startTime"),(Decimal)Eval("Price"),(MyStatus)Eval("Flags"))#>
protectedSystem.Drawing.ColorGetForeColor(stringid,DateTimestart,Decimalprice,MyStatusfs){......}
这样你可以在方法里边任意复杂地进行计算,甚至可以操作Cache、可以访问SOA远程服务等等。如果你觉得在定义页面上去琢磨写某些表达式已经到了痛苦的程度,就应该赶紧把计算放到这里来写。