C# 我的页面加载不是';t在ASP.NET中隐藏我的链接

C# 我的页面加载不是';t在ASP.NET中隐藏我的链接,c#,asp.net,webforms,C#,Asp.net,Webforms,所以,我的登录页面上有链接。我有3个链接,在你登录之前不会出现。无论是否登录,它们都会出现。我有我的页面加载,当我进入页面时,它会显示出来 这是我的C代码 受保护的无效页面加载(对象发送方、事件参数e) { if(User.IsInRole(“管理员”)) AdminLink.Visible=true; } 这是登录代码超链接 <asp:HyperLink id="AdminLink" NavigateUrl="#" Text="PMO" runat="server"/>

所以,我的登录页面上有链接。我有3个链接,在你登录之前不会出现。无论是否登录,它们都会出现。我有我的页面加载,当我进入页面时,它会显示出来

这是我的C代码


受保护的无效页面加载(对象发送方、事件参数e)
{
if(User.IsInRole(“管理员”))
AdminLink.Visible=true;
}
这是登录代码超链接

<asp:HyperLink id="AdminLink" NavigateUrl="#" Text="PMO" runat="server"/>

这是我的网络配置

 <authentication mode="Forms">
      <forms name="ASPX.AUTH" loginUrl="login.aspx" protection="All" path="/"/>
    </authentication>
    <authorization>
      <allow roles="Administrator"/>
           <deny users="*"/>  
    </authorization>


我的结果是,当您转到原始登录页面时,它不会显示可供单击的链接。登录后,它将加载到登录页面,并显示链接。我真的不确定这一点出了什么问题

您是否尝试过在启动时将链接设置为false?默认行为是可见的

<asp:HyperLink id="AdminLink" NavigateUrl="#" Text="PMO" runat="server" Visible="false"/>


AdminLink.Visible=true设置链接可见。但我看不到你之前把它设置为不可见的地方?我希望aspx代码中有
。如果(User.IsInRole(“Administrator”))AdminLink.Visible=true;else AdminLink.Visible=false在代码后面。@ADyson我明白你的意思了。我是从这个网站拉做这个应用程序,它没有提到这行代码。我的想法和你一样,但我绝对不是这方面的专家,所以我想我会在搜索后摆出专家的姿势。我现在就试试你的方法,然后发布结果。@Dyson,它隐藏了链接,但登录后仍然没有显示链接。现在还不知道。我想我的cookie可能有什么问题?你调试过了吗?看看代码采用了什么路径,以及设置/未设置可见值的位置?
<asp:HyperLink id="AdminLink" NavigateUrl="#" Text="PMO" runat="server" Visible="false"/>