从mvc动作方法获得不同的结果

时间:2016-05-07 11:53:32

标签: c# asp.net-mvc

我有一个拥有一些IEnumerable方法的业务层。我在我的控制器中使用了这些方法,并在make方法结果为.ToList()后得到结果。

现在有了新的要求。我必须按用户访问过滤操作结果数据。当用户调用action方法时,只调用一个业务层方法,但每个用户需要不同的结果。例如:用户A可以加载所有数据,但用户B只能根据他的许可访问10行数据。

代码:

BL:

public IEnumerable<Card> GetCardList(int Id)
{
    return unitOfWork.GetCardList(Id);
}

控制器:

//...   
CardBl.GetCardList(id).ToList();
//...

我尝试通过覆盖OnActionExecutingOnResultExecuting方法来过滤CustomActionFilter类中的数据,但我很困惑!

实际上我想通过属性使这种过滤自动化,而不是为每个方法添加where子句。

如果有人建议解决方案,我将不胜感激。

更新 我的模特:

public class CardModels
{
    public int Id { get; set; }
    public string CardName { get; set; }
    public string CardDescription { get; set; }
    public int CityId { get; set; }

}

CityId是我必须根据数据过滤数据的属性。

0 个答案:

没有答案