日期:2014-05-17  浏览次数:20481 次

怎么判断<%#Eval("rename")%>为空?
源码是这样的:
<asp:DataList ID="DataList2" runat="server">
  <ItemTemplate>
   <TABLE>
 
 <TR height=26>
<td>
<%#Eval("username")%>
</td></TR>
                          
  </TABLE>
 </ItemTemplate>
 </asp:DataList>

我想修改成这样:
当<%#Eval("rename")%>为空时,显示<%#Eval("username")%>
否则显示<%#Eval("rename")%>.请问怎么修改?谢谢!!


------解决方案--------------------
思路就是上面两位说的这样,细节注意一下,上面两位的代码可能引发 NullArgument 异常,应改为:


<td>
    <%# (String.IsNullOrEmpty(Eval("rename") as String) ? Eval("username") : Eval("rename"))%>
</td>

------解决方案--------------------
源码HTML标签使用有问题

应把table 标签及子级标签 全部去掉.

然后

<%#Eval("username")%>
=>
<%# string.IsNullOrEmpty((string)(Eval("rename")??""))?Eval("username"):Eval("rename")%>

------解决方案--------------------
很明显的三目运算,楼上都对