2017-06-30 9 views
1

私は、評価値が0の場合はdivが表示されないという条件を持つIfを作成しようとしています。asp.netにある場合、クレタと評価

<%@ if (DataBinder.Eval(Container.DataItem, "Desconto").ToString() != "0"){ %> 
    <p><span class="oldprice"><%# Eval("Preço") %>€</span> <i class="newprice item_price"><%# ((decimal)Eval("Preço")-(decimal)Eval("Preço")*((decimal)(int)Eval("Desconto")/100)).ToString("N2") %></i>€</p> 
<%@ } %> 

しかし、私はevalを作成する構文を理解していませんが、何らかのエラーとして終了します。

お返事ありがとうございます。

答えて

1

Panelの内部にコードをラップし、Evalの値に基づいてVisibleを設定することができます。

<asp:Panel ID="Panel1" runat="server" Visible='<%# Eval("Desconto").ToString() != "0" %>'> 
    content 
</asp:Panel> 

または三項演算子を使用しますが、余分なパネルを使用しない場合は

<div style="display:<%# Eval("Desconto").ToString() != "0" ? "block" : "none" %>"> 
    content 
</div> 
1

代わりに、@の使用# -

<%# if (DataBinder.Eval(Container.DataItem, "Desconto").ToString() != "0"){ %> 
    <p><span class="oldprice"><%# Eval("Preço") %>€</span> <i class="newprice item_price"><%# ((decimal)Eval("Preço")-(decimal)Eval("Preço")*((decimal)(int)Eval("Desconto")/100)).ToString("N2") %></i>€</p> 
<% } %> 
関連する問題