怎么判断<%#Eval("rename")%>为空?

evmeeting2011 2011-11-11 09:49:18
源码是这样的:
<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")%>.请问怎么修改?谢谢!!

...全文
410 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Xuon 2013-03-14
  • 打赏
  • 举报
回复
我也想到用??操作符了,嘿嘿
晏子 2011-11-12
  • 打赏
  • 举报
回复
他们该说的差不多都说了,只是提醒下,注意dbnull
jayrao5566 2011-11-12
  • 打赏
  • 举报
回复

<%#Eval("rename")!=null?Eval("username"):Eval("rename")%> 不为空时.
hetengfei_ 2011-11-12
  • 打赏
  • 举报
回复
我上面的有些写错,要改正!如下

protected string SelectName(object rename, object username) 
{
//分析 判断:
//可以加入更复杂的 判断
//xxxxxxx
return string.IsNullOrEmpty((string)(rename))?username:rename;
}

jss122414092 2011-11-12
  • 打赏
  • 举报
回复
以上都是浮云,代码不是这么写的,一下才是真正的正规王道写法

<%#Eval("rename")as string==null?Eval("username")as string:Eval("rename")as string %>

以上,直接.ToString()只要null就报错,,不规范,
林少1024 2011-11-12
  • 打赏
  • 举报
回复
其實在 sql 中就可以判斷 isnull(rname,ramemname);
evmeeting2011 2011-11-12
  • 打赏
  • 举报
回复
谢谢!!
Robin 2011-11-12
  • 打赏
  • 举报
回复
以上回答只是部分正确。
我总结一下,
首先要判断一下,是不是为null 然后再判断是不是dbnull,最后才判断.toString()等不等空。
Eval("username")!=null && Eval("username")!=DBNull.value&&Eval("username").ToString!=""
hetengfei_ 2011-11-12
  • 打赏
  • 举报
回复
楼主应学会这招:----当较复杂时。

'<% #SelectName(Eval("rename"),Eval("username")) %>' 


在服务的aspx.cs 中定一个函数来分析

protected string Repeater1_ItemDataBound(object rename, object  username)
{
//分析 判断:
//可以加入更复杂的 判断
//xxxxxxx
return string.IsNullOrEmpty((string)(rename))?username:rename?
}
黄亮 2011-11-11
  • 打赏
  • 举报
回复
<%#Eval("rename")??Eval("username")%>

简单点处理吧。
LMAOhuaNL 2011-11-11
  • 打赏
  • 举报
回复
很明显的三目运算,楼上都对
阿非 2011-11-11
  • 打赏
  • 举报
回复
源码HTML标签使用有问题

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

然后

<%#Eval("username")%>
=>
<%# string.IsNullOrEmpty((string)(Eval("rename")??""))?Eval("username"):Eval("rename")%>
ciznx 2011-11-11
  • 打赏
  • 举报
回复
思路就是上面两位说的这样,细节注意一下,上面两位的代码可能引发 NullArgument 异常,应改为:


<td>
<%# (String.IsNullOrEmpty(Eval("rename") as String) ? Eval("username") : Eval("rename"))%>
</td>
dalmeeme 2011-11-11
  • 打赏
  • 举报
回复
<td>
<%#Eval("rename").ToString()==string.Empty?Eval("username"):Eval("rename")%>
</td>
暖枫无敌 2011-11-11
  • 打赏
  • 举报
回复
使用三元运算符
<td>
<%#Eval("rename").ToString==""?Eval("username"):Eval("rename")%>
</td>

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧