在这种情况下如何在Repeater控件中使用条件Eval:
if Actions.ShowDates(Eval("DatesAsPeriod").ToString(), Eval("DateList").ToString().Length) > 0
then show this:
<a href="Details.aspx?ActionID=<%# Eval("ID") %>"><%# Eval("Artist") %></a>
else show this:
<%# Eval("Artist") %>
答案 0 :(得分:1)
您可以将其包装到占位符
<asp:PlaceHolder runat="server"
Visible='<%# Actions.ShowDates(Eval("DatesAsPeriod").ToString(), Eval("DateList").ToString().Length) > 0 %>'>
<a href="Details.aspx?ActionID=<%# Eval("ID") %>"><%# Eval("Artist") %></a>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server"
Visible='<%# Actions.ShowDates(Eval("DatesAsPeriod").ToString(), Eval("DateList").ToString().Length) == 0 %>'>
<%# Eval("Artist") %>
</asp:PlaceHolder>
答案 1 :(得分:0)
您必须在代码标记中包含if
语句:
<% if (Actions.ShowDates(Eval("DatesAsPeriod").ToString(), Eval("DateList").ToString().Length) > 0)
{
%>
<a href="Details.aspx?ActionID=<%# Eval("ID") %>"><%# Eval("Artist") %></a>
<%
}
else
{
%>
<%# Eval("Artist") %>
<%
}
%>
在转发器中,你应该可以使用它:
<%# (Actions.ShowDates(Eval("DatesAsPeriod").ToString(), Eval("DateList").ToString()).Length > 0) ? "<a href="Details.aspx?ActionID='" + Eval("ID") + "'>" + Eval("Artist") + "</a>" : Eval("Artist") %>