Reputation: 571
I would like to change navigation bar in my application depending on who is loged in. I don't want customer to see links available to admin for example. From information that I've found so far I think I will have to create couple of versions of layout and use wright one with appropriate view. If I'm wrong what is the best way to do it?
Upvotes: 2
Views: 748
Reputation: 23078
In most Web applications administration area is quite different from "operational" area (that dedicated to normal users). Providing more details might be useful, but I recommend to use areas, a feature of MVC:
they allow to have a clear separation by semantics of content. In your case this means administration vs. other parts of the application
each area can define a default layout (or other layout pages) to be used in that particular area
Using the same layout between administrative and other part of your application might force into ugly code like the following:
if (@Model.IsAdmin)
{
// show admin link 1 here
}
// normal user or public content here
if (@Model.IsAdmin)
{
// other code accessible for admin only
}
So, shortly put, I advice for separation.
Upvotes: 1