2011-04-02 51 views
0

我的.aspx頁面上有一箇中繼控件。有時產品是唯一的,所以你不能改變它的數量,但在其他情況下,當這個產品有很多項目時,你應該能夠使用文本框和鏈接按鈕來編輯它的數量。 OnlyOne和Quantity都存在於綁定集合類中。我需要檢查OnlyOne條件,類似這樣的:控件模板中的條件標記

    <% if (OnlyOne) { %> 
         <%# Eval("Quantity") %> 
         <%} else { %> 
         <asp:TextBox ID="TextBox1" runat="server" /> 
         <asp:LinkButton ID="LinkButton1" runat="server">OK</asp:LinkButton> 
         <% }%> 

問題是ASP.NET找不到OnlyOne字段。我也試過(bool)Eval(「OnlyOne」),但那也行不通。那麼我應該怎麼寫這個條件呢?

+0

在哪裏以及如何定義'OnlyOne'字段? – Oded 2011-04-02 18:09:56

+0

@Oded有一個CartProduct類,它包含OnlyOne和Quantity字段。這個類沒有映射到數據庫中的任何表(換句話說,它不是持久的)。我得到這個類的集合並將其綁定到Repeater.DataSource。 – 2011-04-02 18:45:04

回答

0

幹過這樣的:

<asp:Label Text='<%# Eval("Quantity") %>' runat="server" ID="QuantityLabel" Visible='<%# Eval("OnlyOne") %>' /> 
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("Quantity") %>' Visible='<%# !(bool)Eval("OnlyOne") %>' /> 
<asp:LinkButton ID="LinkButton1" runat="server" Visible='<%# !(bool)Eval("OnlyOne") %>' Text="OK" /> 

但我仍然有興趣聽到的答案:)。