【发布时间】:2021-08-31 13:42:20
【问题描述】:
我已经像这样分享了 _Layout.cshtml:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
@Html.ActionLink("Студентска служба", "Index", "Students", new { area = "" }, new { @class = "navbar-brand" })
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>@Html.ActionLink("Студентски програми", "Index", "Studies")</li>
<li>@Html.ActionLink("Референти", "Index", "Referents")</li>
<li>@Html.ActionLink("Пријава испита", "Index", "Exams")</li>
</ul>
</div>
</div>
</div>
<div class="container body-content">
@RenderBody()
<hr />
</div>
</body>
</html>
在数据库中,我有 3 种类型的用户(管理员、参考对象和学生)。
这是我的用户控制器:
public class UsersController : Controller
{
private StudentServiceContext db = new StudentServiceContext();
// GET: Users
public ActionResult Index()
{
return View(db.Users.ToList());
}
public ActionResult Login()
{
return View();
}
[HttpPost]
public ActionResult Login(Users user)
{
using (StudentServiceContext db = new StudentServiceContext())
{
var usr = db.Users.Where(u => u.UserName == user.UserName && u.Password == user.Password).FirstOrDefault();
if (usr != null)
{
Session["UserID"] = usr.UserID.ToString();
Session["Username"] = usr.UserName.ToString();
Session["Password"] = usr.UserName.GetHashCode();
return RedirectToAction("Index", "Referents");
}
else
{
ModelState.AddModelError("", " Нетачно корисничко име или лозинка!");
}
}
return View();
}
public ActionResult LoggedIn()
{
if (Session["UserID"] != null)
{
return View();
}
else
{
return RedirectToAction("Login");
}
}
所以,例如,如果登录用户不是学生,我想隐藏
<li>@Html.ActionLink("Пријава испита", "Index", "Exams")</li>
我尝试使用@model dynamic 和@model StudentService.Models.Users,所以我认为我可以使用 if 条件,例如 @if(Model.UserRole.Equals("student")) 等,但没有任何东西可以正常工作...
【问题讨论】:
标签: asp.net .net asp.net-mvc model-view-controller razor