2009-12-02 129 views
0

我有一個ListView控件,並在LayoutTemplate中有一個LinkBut​​ton。我嘗試將Visible屬性設置爲<%#IsUserAdmin%>,其中IsUserAdmin是一種方法,根據用戶是否爲admin來返回true或false,並設置控件的可見性,但是我發現這不是爲LayoutTemplate工作,而不是我必須去LayoutCreated事件,並獲得控制,然後設置其可見性。我很好奇,爲什麼我必須用LayoutTemplate中的控件這樣做?我可以在ItemTemplate中的控件的Visible屬性上使用<%#IsUserAdmin%>,而沒有任何問題。我認爲LayoutTemplate實際上會更容易一些,因爲只有1個控件生成,而不是ItemTemplates的多個控件。爲什麼我需要在LayoutCreated事件的ListView佈局中設置LinkBut​​ton的可見性,而不是直接在LinkBut​​ton上設置?

回答

1

是否<%= IsUserAdmin %>,而不是<%# %>實現預期的行爲嗎?

你不應該在非數據綁定的情況下使用<%# %>。因此,爲了操作剛纔在窗體上的對象的屬性,請使用<%= %>。這個工作只要IsUserAdmin是一個公共財產。

+0

IsUserAdmin是一個公共方法,我還沒有試過<%= %>。我不清楚<%# %>和<%= %>之間的區別。 – Xaisoft 2009-12-02 16:33:43

+0

使用<%= IsUserAdmin.ToString()%>,因爲此標記指示字符串值。 – Bryan 2009-12-02 21:11:02

相關問題