我在GridView
(組件ASP.NET)的每一行中都有一個刪除按鈕。我想要一些刪除按鈕不可見。刪除按鈕的可見性應取決於行後面的數據。將表達式的綁定按鈕可見性(C#)
GridView
由EntityDataSource
支持。 GridView
顯示實體,稱爲Category
,每行有一個實例。實體Category
(除了其他)還有一個EntityCollection
類型的字段。該字段的名稱是Items
。基本上我想讓用戶刪除一行只有當Items
支持Category
實體是一個空集合。
我不能彌補Visible
屬性的結合。我沒有使用綁定的經驗,Google也沒有真正的幫助。 這是按鈕的外觀現在:
<asp:Button ID="DeleteButton" runat="server" CommandName="Delete"
Text="Delete"
Visible=??? ></asp:Button>
我不知道用什麼來替代???
。按鈕schold可見,只有當該表達式評估爲真:
((SimpleEShop.Model.Category) dataItem).Items.LongCount() <= 0
其中dataItem
變量包含在表中當前行的數據。 我需要什麼綁定?
這看起來很有前途 - 它會拋出錯誤說,在類實體集合中沒有屬性「LongCount」,但這是我的錯......我會修復它(找到正確的屬性),然後再試一次。 – drasto 2010-05-19 23:24:01
我修改了我的答案,我想你只需要替換「YourItemType」並且應該可以工作 – alejandrobog 2010-05-19 23:38:59
表達式中還有兩個問題,但最後我有這個:Visible ='<%#(int)Eval(「Items.Count」 )<= 0? true:false%>'。現在問題是無論「Items」中有多少個元素,它的計算結果都爲true。我如何發現問題在哪裏?我不能在這個代碼中使用調試器來斷點... – drasto 2010-05-19 23:39:37