我有几个具有相同行为的ASP.NET页面:
Page_Init
上,检查用户是否有权查看内容。如果他们没有访问权限,该页面将显示一条消息,并且不会显示剩余的内容。菜单框仍将显示。我是ASP.NET的新手,所以我只能考虑根据访问权限播放内容<div>
标签的可见性。我想知道是否还有其他方法可以解决这个问题。我正在使用VB代码。请建议......
答案 0 :(得分:1)
您可以将部分包含在PlaceHolder
中,然后将其关闭,例如:
<asp:PlaceHolder ID="AuthUserStuff" runat="server">
<div>
...
</div>
</asp:PlaceHolder>
在您的代码隐藏中,您可以简单地执行以下操作:
AuthUserStuff.Visible = User.IsAuthenticated;
PlaceHolder
具有额外的优势,即如果隐藏,内容将不会呈现给客户端。
答案 1 :(得分:0)
使用控制可见性的div标签是不好的,这意味着用户只需执行“查看源”,所有内容都将在那里。
您应该不将内容添加到您使用的任何控件(或使用控件@Lloyd描述)或redirect him添加到自定义403页面(无访问权限)。