我很想知道是否有更好的方法来编写这段代码。
<%#Eval("hasAccess").Equals(true) ? "<a href='/CaseActivities.aspx?" + Eval("caseURL") + "'>" + Eval("caseName") + "</a>" : Eval("caseName")%>
我试过&lt;%If(Eval(“hasAccess”)...但是asp.net并不喜欢这样:)
我希望像
这样的东西<% If Eval("hasAccess") %>
do stuff ..
<% else %>
do other stuff.
但是当使用带有IF的Eval时,它会变得混乱......有什么想法吗?
答案 0 :(得分:4)
你几乎肯定会在代码中执行此操作,而不是在scriptlet中执行此操作。在数据绑定的情况下,有几个选项:
不是将这些操作作为数据绑定的一部分执行,而是在绑定之前更改基础数据源,以便数据绑定本身仅按原样获取值。
在后面的代码中添加一个方法,该方法获取列并返回正确的值,这样数据绑定方法只需要通过该列调用该方法的调用。
如果标记复杂,请不要在标记中进行数据绑定;在后面的代码中使用数据绑定事件(如果可用)。
这些按优先顺序列出,您应该尝试使用它们。