C# asp.net用户控件能否确定用户的成员资格提供程序角色?

C# asp.net用户控件能否确定用户的成员资格提供程序角色?,c#,asp.net,user-controls,C#,Asp.net,User Controls,我有一个管理面板,左侧导航部分由运行在服务器上的Li组成。 随着时间的推移,这件事已经成熟到只有管理员才能看到某些项目的地步 我已经有了所有的代码,并希望通过制作一个Nav用户控件来清理它,但在检测用户的角色或我可以直接在页面上访问的任何用户信息时遇到了问题 my Nav中的HTML代码示例: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.

我有一个管理面板,左侧导航部分由运行在服务器上的Li组成。 随着时间的推移,这件事已经成熟到只有管理员才能看到某些项目的地步

我已经有了所有的代码,并希望通过制作一个Nav用户控件来清理它,但在检测用户的角色或我可以直接在页面上访问的任何用户信息时遇到了问题

my Nav中的HTML代码示例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;
using System.Configuration;

namespace PolyWeb.AdminPanel
{
    public partial class index : System.Web.UI.Page
    {
        public bool isAdminView;

        protected void Page_Load(object sender, EventArgs e)
        {
            isAdminView = User.IsInRole("admin");

            lblLogedInUser.Text += User.Identity.Name;
        }
    }
}
smaple代码隐藏:

<ul class="nav nav-tabs nav-stacked main-menu">
        <li class="nav-header hidden-tablet">Main</li>
        <li runat="server" id="LiAdminNavRoles" visible="<%# isAdminView %>" ><a class="ajax-link" href="/Admin/access/roles.aspx"><i class="icon-home"></i><span class="hidden-tablet red"> RolesAdmin Page</span></a></li>
    </ul>
    主屏幕
当我在用户控件(.ascx)中尝试同样的方法时,即使导入了所有安全名称空间(如.aspx页面),它也不起作用


如何从UserCOntrol中获取用户句柄,以便在导航中执行相同的元素显示/隐藏操作?

请尝试从UserCOntrol中获取“Page.User.IsInRole”或“HttpContext.Current.User.IsInRole”。我收到以下错误:“isAdminView”名称在当前上下文中不存在。该变量在用户控件的页面加载上方设置为public。然后在用户控件的页面加载中,我将其赋值为isAdminView=page.user.IsInRole(“admin”);我是否应该这样做: