C# 超链接可见性的ASP.NET声明性绑定不起作用

C# 超链接可见性的ASP.NET声明性绑定不起作用,c#,.net,asp.net,C#,.net,Asp.net,我在usercontrol中有一个超链接,我想通过使用声明性属性设置它的可见性,即 <asp:HyperLink ImageUrl="/images/icons/rss.png" Visible="<%# ShowRssIcon %>" ID="FeedHyperLink" runat="server"></asp:HyperLink> 但是,它始终保持可见,即使ShowRssIcon为false。ShowRssIcon是usercontrol上的一个

我在usercontrol中有一个超链接,我想通过使用声明性属性设置它的可见性,即

<asp:HyperLink ImageUrl="/images/icons/rss.png" Visible="<%# ShowRssIcon %>" ID="FeedHyperLink" runat="server"></asp:HyperLink> 

但是,它始终保持可见,即使ShowRssIcon为false。ShowRssIcon是usercontrol上的一个简单属性集。甚至将ShowRssIcon设置为在超链接显示中始终返回错误结果

但是,手动设置
Visible=“false”
Visible=“true”
的效果与预期相同。此外,在
Page\u Load
事件上设置代码隐藏中的属性也有效


有什么想法吗?谢谢。

因为
因为
您的代码片段没有显示任何对数据绑定的调用,所以您确定有调用吗?顺便说一句,如果此超链接不在数据绑定控件(如ListView或GridView)中,则最好从后面的代码中设置属性。

您的代码段不显示对数据绑定的任何调用,因此您确定有调用吗?顺便说一句,如果此超链接不在数据绑定控件(如ListView或GridView)中,则最好从后面的代码中设置属性。

谢谢,我完全忽略了这一部分。我想是时候好好读书,成为一名ASP.NET大师了。我对页面生命周期还不太熟悉,不知道为什么,但page_PreRenderComplete对我来说不起作用。但是在Page_PreRender中添加了调用,谢谢,我完全忽略了这一部分。我想是时候好好读书,成为一名ASP.NET大师了。我对页面生命周期还不太熟悉,不知道为什么,但page_PreRenderComplete对我来说不起作用。但是,在Page_PreRender中添加调用却没有。
protected void Page_PreRenderComplete(object sender, EventArgs e)
{
    DataBind();
}