我在用户控件中有一个超链接,我想通过使用声明性属性来设置可见性,即
<asp:HyperLink ImageUrl="/images/icons/rss.png" Visible="<%# ShowRssIcon %>" ID="FeedHyperLink" runat="server"></asp:HyperLink>
但是,即使ShowRssIcon为false,它也始终可见。 ShowRssIcon是在用户控件上设置的简单属性。即使将ShowRssIcon设置为始终在显示的超链接中返回假结果。
但是,手动设置
Visible="false"
或Visible="true"
可以按预期方式工作。同样,在Page_Load
事件后面的代码中设置属性也可以。有任何想法吗?谢谢。
最佳答案
由于<%# expressions
是在DataBind()
时计算的,因此,如果使用了该方法,则需要像这样在PreRenderComplete上调用DataBind();
方法。
protected void Page_PreRenderComplete(object sender, EventArgs e)
{
DataBind();
}