如何使用 MVC 根据数据库设置在导航栏内 show/hide link

How to show/hide link inside navbar based on database settings using MVC

我正在构建一个网站,其中很少有管理员可以更改哪些 link 应该对 public 可见和访问。因此管理员应该能够将设置保存到数据库中,这将在以后影响导航栏中的 link,具体取决于您是否登录。

我添加了保存设置的可能性,但我不确定如何访问它们。

我偶然发现了 User.IsInRole("Administrator")User.Identity.IsAuthenticated。但我不认为这会起作用,因为可见的 links 可能会根据数据库中保存的内容而改变。

那我怎么可能解决这个问题呢? MVC 中是否有内置的东西可以帮助我解决这个问题?我可以在每次页面加载时不向数据库发出请求来解决这个问题吗?

如有不明之处,请告诉我。

你可以把它放在你的模型实体中作为他们的 属性 特别是在你的用户中然后你可以从那里创建一个条件如果 link 将显示我们不是:

@model Model.ModelUserEntity

if (@Model.IsAllowedToSeeLink) {
   //Show the link
}

所以您的 ModelUserEntity 有这个 属性,这样您就可以标记他们是否可以访问 link。