0
我有 “相册” 的数据库,我已经通过的ListView和FormView(在2个独立的页)他们展示给客户:的if/else里面的ListView和FormView,asp.net C#
<asp:ListView ID="Albums_List" runat="server" DataKeyNames="id" ItemType="Trying.Models.Album" SelectMethod="GetAlbum">
<ItemTemplate>
<%#:(Item.price == 0) ? "It's Free!" : String.Format("Price: {0:c}", Item.price)%><br />
Artist:<%#:" " + Item.artist %><br />
</ItemTemplate>
</asp:ListView>
为你可以看到,如果价格= 0,我已经使用三元运算符显示“它是免费的”,如果它不是0,则显示价格本身。
现在我想要显示“它是免费的”格和红颜色。
这里是什么我渴望做“方案”(PLZ注意它不是真正的C#代码):
<% if (Item.price == 0) { %>
<div style="color: red;">It's Free</div>
<% }
else { %>
String.Format(" {0:c}", Item.price)
<% } %>
不幸的是,上面的代码是行不通的。要访问“Item.price”,我必须使用<%#:%>而不是<%%>。但如果我这样做,我不能使用“if/else”!此外,String.Format()在此“方案”中不起作用。
该怎么办?
如果我使用上面的“scheme”(现在没有string.format()),我得到这个:名称“Item”在当前上下文中不存在。 – Ali
如果我使用<%: %>,除了我上面提到的错误,我也得到这个:无效的表达式术语“if” – Ali