Asp.net 仅显示<;李>;登录MVC.net站点时的项

Asp.net 仅显示<;李>;登录MVC.net站点时的项,asp.net,.net,asp.net-mvc,login,user-roles,Asp.net,.net,Asp.net Mvc,Login,User Roles,我有一个MVC模板和两个用户角色,只有具有这些角色的用户才能查看并单击导航栏中的列表项。但是由于所有角色都可以看到它,所以不向未登录的人显示它就足够了。这是我的cshtml <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li>@Html.ActionLink("Home", "Index", "Home")&

我有一个MVC模板和两个用户角色,只有具有这些角色的用户才能查看并单击导航栏中的列表项。但是由于所有角色都可以看到它,所以不向未登录的人显示它就足够了。这是我的cshtml

<div class="navbar-collapse collapse">
            <ul class="nav navbar-nav">
                    <li>@Html.ActionLink("Home", "Index", "Home")</li>
                    <li>@Html.ActionLink("Roles", "Index", "Roles")</li>
                    <li>@Html.ActionLink("Evaluaties", "About", "Home")</li>
            </ul>
            @Html.Partial("_LoginPartial")
        </div>

  • @ActionLink(“主页”、“索引”、“主页”)
  • @ActionLink(“角色”、“索引”、“角色”)
  • @ActionLink(“评估”、“关于”、“主页”)
@Html.Partial(“_LoginPartial”)
因此,最后的列表项评估不应该被未登录的人看到,或者换句话说,只有学生(Leerling)和教师(Begeleider)两个角色才能看到。它们在我的控制器中使用

public ActionResult About()
    {
        if (User.IsInRole("Begeleider"))
        {
            var client = new WebClient();
            var jsonLeerlingen = client.DownloadString(new Uri("http://localhost:8080/projecten/api/leerlingen"));
            var leerlingen = Newtonsoft.Json.JsonConvert.DeserializeObject<IEnumerable<Leerling>>(jsonLeerlingen);
            var jsonEvaluaties = client.DownloadString(new Uri("http://localhost:8080/projecten/api/evaluaties"));
            var evaluaties = Newtonsoft.Json.JsonConvert.DeserializeObject<IEnumerable<Evaluatie>>(jsonEvaluaties);
            ViewBag.Message = leerlingen;
            ViewBag.Evaluaties = evaluaties;

        }
        if (User.IsInRole("Leerling"))
        {
            var email = User.Identity.GetUserName();
            var client = new WebClient();
            var jsonLeerlingen = client.DownloadString(new Uri("http://localhost:8080/projecten/api/leerlingen"));
            var leerlingen = Newtonsoft.Json.JsonConvert.DeserializeObject<IEnumerable<Leerling>>(jsonLeerlingen);
            var jsonEvaluaties = client.DownloadString(new Uri("http://localhost:8080/projecten/api/evaluaties"));
            var evaluaties = Newtonsoft.Json.JsonConvert.DeserializeObject<IEnumerable<Evaluatie>>(jsonEvaluaties);
            ViewBag.Message = leerlingen;
            ViewBag.Evaluaties = evaluaties;

        }
        return View();
    }
public ActionResult About()
{
if(User.IsInRole(“Begeleider”))
{
var client=new WebClient();
var jsonLeerlingen=client.DownloadString(新Uri(“http://localhost:8080/projecten/api/leerlingen"));
var leerlingen=Newtonsoft.Json.JsonConvert.DeserializeObject(jsonLeerlingen);
var jsonevaluations=client.DownloadString(新Uri(“http://localhost:8080/projecten/api/evaluaties"));
var evaluaties=Newtonsoft.Json.JsonConvert.DeserializeObject(jsonEvaluaties);
ViewBag.Message=leerlingen;
ViewBag.Evaluaties=评估;
}
if(User.IsInRole(“Leerling”))
{
var email=User.Identity.GetUserName();
var client=new WebClient();
var jsonLeerlingen=client.DownloadString(新Uri(“http://localhost:8080/projecten/api/leerlingen"));
var leerlingen=Newtonsoft.Json.JsonConvert.DeserializeObject(jsonLeerlingen);
var jsonevaluations=client.DownloadString(新Uri(“http://localhost:8080/projecten/api/evaluaties"));
var evaluaties=Newtonsoft.Json.JsonConvert.DeserializeObject(jsonEvaluaties);
ViewBag.Message=leerlingen;
ViewBag.Evaluaties=评估;
}
返回视图();
}

我尝试了
if(User.IsInRole(“Begeleider”)
,但我无法在.cshtml页面中使用它如果您查看
\u LoginPartial.cshtml
部分视图,您将看到以完全相同的方式实现的内容。例如:

@if (Request.IsAuthenticated)
{
    <div>You are logged in</div>
}
else
{   
    <div>You are not logged in</div>
}
@if(Request.IsAuthenticated)
{
您已登录
}
其他的
{   
您没有登录
}

看看
\u LoginPartial.cshtml
,它已经在那里发生了。你是说像这样
@if(Request.IsAuthenticated)
?{