html - 如何更改.Net MVC 中的导航栏

标签 html asp.net-mvc

我想根据登录者更改我的应用程序中的导航栏。例如,我不希望客户看到可供管理员使用的链接。根据目前为止我发现的信息,我认为我将不得不创建几个版本的布局,并使用具有适当 View 的 wright 版本。如果我错了,最好的方法是什么?

最佳答案

在大多数 Web 应用程序中,管理区域与“操作”区域(专供普通用户使用)有很大不同。提供更多详细信息可能会有用,但我建议使用 areas , MVC 的一个特性:

  • 它们允许通过内容的语义进行清晰的分离。在您的情况下,这意味着管理与应用程序的其他部分

  • 每个区域都可以定义要在该特定区域中使用的默认布局(或其他布局页面)

  • 区域充当 security 的容器和 routes

在应用程序的管理部分和其他部分之间使用相同的布局可能会强制生成如下丑陋的代码:

if (@Model.IsAdmin)
{
    // show admin link 1 here
}

// normal user or public content here

if (@Model.IsAdmin)
{
    // other code accessible for admin only
}

所以,简而言之,我建议分居。

关于html - 如何更改.Net MVC 中的导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36957424/

相关文章:

javascript - OpenLayers 图标不显示

html - 居中容器并使用负边距

jquery - 填充 Kendo Read 数据源

asp.net - 让 https 在 asp.net MVC4 应用程序中本地工作

c# - MVC3 中的 Ninject 依赖注入(inject) - 在 Controller 之外

javascript - 使用localStorage存储数值

javascript - 根据单击的提交按钮分配不同的 Onclicks

c# - 了解接口(interface)

c# - 为什么对 ASP.NET MVC Controller 的调用不执行 DelegatingHandler?

html - 如何根据屏幕边框在 css 上定位我的元素