【问题标题】:how to change navigation bar in .Net MVC如何在.Net MVC中更改导航栏
【发布时间】:2016-05-01 00:54:29
【问题描述】:

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

【问题讨论】:

  • 你能提供一些关于你的布局的细节吗?普通用户和管理员在链接变化方面有什么区别?
  • @Alexei 我只是想让网站看起来尽可能容易阅读和清晰,因此客户不需要查看管理员链接,因为管理员无论如何都无法访问。登录后,客户输入他的应用程序部分并查看将使用和访问的链接。与管理员相同。

标签: html asp.net-mvc


【解决方案1】:

在大多数 Web 应用程序中,管理区域与“操作”区域(专用于普通用户)完全不同。提供更多细节可能会有用,但我建议使用 areas,这是 MVC 的一个功能:

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

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

  • 区域充当securityroutes 的容器

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

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

// normal user or public content here

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

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

【讨论】:

    猜你喜欢
    • 2014-10-12
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 2013-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多