动态允许/拒绝c#中的属性

时间:2014-12-17 12:43:25

标签: c# asp.net-mvc

我使用带有属性的View Model将数据作为JSON传递给java脚本。

public string Property1 { get; set; }  //deny for user1
public string Property2{ get; set; }   //denyfor user2
public string Property3{ get; set; }    

现在我有不同类型的用户,因此根据我想要的用户denyor允许在UI上映射和显示属性

1 个答案:

答案 0 :(得分:0)

检查授权规则的自定义getter如何,如果授权失败则返回null?然后,您可以将序列化程序设置为不序列化空值。

JsonSerializer serializer = new JsonSerializer { NullValueHandling = NullValueHandling.Ignore };

private string _property1;
public string Property1 
{ 
    get 
    {
        if(getcurrentuser.isauthorizedforproperty1)
        {
            return _property1;
        }
        else 
        {
            return null;
        }
    }
    set
    {
        _property1 = value;
    }
}