为什么我需要在LayoutCreated事件中的ListView布局中设置LinkBut​​ton的可见性,而不是直接在LinkBut​​ton上?

时间:2009-12-02 16:16:27

标签: c# asp.net

我有一个ListView控件,在LayoutTemplate中我有一个LinkBut​​ton。我尝试将Visible属性设置为<%#IsUserAdmin%>,其中IsUserAdmin是一个返回true或false的方法,具体取决于用户是否为admin,并设置控件的可见性,但我发现这个不适用于LayoutTemplate而不是我必须转到LayoutCreated事件并获取控件,然后设置其可见性。我很好奇为什么我必须使用LayoutTemplate中的控件这样做?我可以使用<%#IsUserAdmin%>在ItemTemplate中的控件的Visible属性上没有问题。我认为它对LayoutTemplate来说实际上更容易,因为ItemTemplates只生成了一个控件而不是多个控件。

1 个答案:

答案 0 :(得分:1)

<%= IsUserAdmin %>而不是<%# %>是否会产生预期的行为?

您不应在非数据绑定情况下使用<%# %>。因此,对于仅在表单上的对象上操作属性,请使用<%= %>。只要IsUserAdmin是公共财产,这就可以工作。