检查Eval()是否为零,并检查锚标记是否显示
本文关键字:是否 检查 显示 Eval | 更新日期: 2023-09-27 18:09:59
我有一个中继器。它在锚标记内填充特定的数值。但如果该值为0,我只想显示一个span,锚被丢弃。
这是我的代码。
<td>
<%if (ProcessMyDataItem(Eval("7DAYS").ToString()))
{%>
<a class='aDetails' href="DashCheckInCheckOutDetails.aspx?building=<%=hiddenBuildingDetailsId.Value.ToString() %>&action=<%#Eval("ID") %>&day=7&name=<%#Eval("DESC") %>"><%#Eval("7DAYS") %> </a>
<% }
else
{
Response.Write("<span>0</span>");
}
%>
</td>
后面的代码是
public bool ProcessMyDataItem(string myValue)
{
if (myValue == "0")
{
return false;
}
return true;
}
但是当我运行它时,显示了一个错误
数据绑定方法,如Eval()、XPath()和Bind(),只能是用于绑定控件的上下文中。
是否有办法检查eval值是否为零,如果为零,则显示span,否则显示锚标记
尝试使用:
<%#Eval("7DAYS").ToString() != "0" ?"<a class='aDetails' href='DashCheckInCheckOutDetails.aspx?...'>3 </a>":" <span>0</span>"%>
这将工作!我试过了!
注:请根据您的需要添加链接的url
。
更新
<%#Eval("7DAYS").ToString() != "0" ? "<a class='aDetails' href=DashCheckInCheckOutDetails.aspx?building="+hiddenBuildingDetailsId.Value+"&action="+Eval("ID") +"&day=7&name="+Eval("DESC") +">"+Eval("7DAYS")+" </a>" : " <span>0</span>" %>
我是这么想的
<%# Eval("7DAYS") == 0 ? "empty" : "notempty" %>
另外,如果字段值类型应该是字符串你可以做一些…
<%# (Eval("7DAYS") as string) ?? "empty" %>
你必须像这样改变你的'a '标签,
<a class="aDetails" href="DashCheckInCheckOutDetails.aspx?building="+<%hiddenBuildingDetailsId.Value.ToString() %>&action=<%Eval("ID") %>&day=7&name=<%Eval("DESC") %>'><% Eval("7DAYS") %> </a>
让我知道结果