0

我有几个具有相同行为的 ASP.NET 页面:

  1. 每个页面都有自己的内容(例如表格和表格)
  2. 每个页面链接到 2 个 web 用户控制文件以显示菜单框架
  3. 在 上Page_Init,检查用户是否有权查看内容。如果他们无权访问,该页面将显示一条消息并且不会显示剩余内容。菜单框架仍将显示。

我是 ASP.NET 的新手,所以我只能考虑<div>根据访问权限来处理内容标签的可见性。我想知道是否还有其他方法可以解决它。我正在使用 VB 作为后面的代码。请建议...

4

2 回答 2

1

您可以将部分包装在 a 中PlaceHolder并简单地将其关闭,例如:

<asp:PlaceHolder ID="AuthUserStuff" runat="server">
    <div>
        ...
    </div>
</asp:PlaceHolder>

在您的代码隐藏中,您可以简单地执行以下操作:

AuthUserStuff.Visible = User.IsAuthenticated;

PlaceHolder具有额外的优势,即如果隐藏,内容将不会呈现给客户端。

于 2013-04-10T11:24:54.507 回答
0

使用您控制可见性的 div 标签是不好的,这意味着用户只需执行“查看源代码”并且所有内容都将在那里。

相反,您不应该将内容添加到您使用的任何控件(或使用@Lloyd 描述的控件)或将他重定向到自定义 403 页面(无访问权限)。

于 2013-04-10T11:24:51.350 回答