创建自定义属性ASP.NET MVC

时间:2013-06-13 18:45:41

标签: asp.net-mvc attributes

寻找一些建议,我在用户对象上有一个bool属性值,指示用户是否是管理员。 我的视图中有一些菜单链接,如果你想要显示一个管理员(其他明智的不显示),我还想确保控制器有一个属性,检查以确保用户是管理员,所以什么是最好的实现这一点的方式,欢迎举例。

1 个答案:

答案 0 :(得分:2)

以下是导航构建的属性

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = false, AllowMultiple = false)]
public sealed class NavigationItemAttribute : System.Attribute
{
    public NavigationItemAttribute(string text)
    {
        Text = text;
        SortOrder = int.MaxValue;
        ActionName = "Index";
        Category = Category;
        IconClass = IconClass;
        Domain = Domain;
    }

    public string Text { get; private set; }
    public string Area { get; set; }
    public int SortOrder { get; set; }
    public string ActionName { get; set; }
    public string Category { get; set; }
    public string IconClass { get; set; }
    public string Domain { get; set; }
}

和用法

[NavigationItem("!lang:navigation:admin_main!", SortOrder = 6, Domain = "main", IconClass = "icon-user")]
public class MembershipController : Controller

但使用anyvay显示或不显示项目的角色