首页 / 网页编程 / ASP.NET / [一步一步MVC]第一回:使用ActionSelector控制Action的选择
[一步一步MVC]第一回:使用ActionSelector控制Action的选择2010-09-16AnytaoActionFilter一定是MVC控制中对于Action控制中最值得研究的玩意,在项目实际中我们不可避免的使用例如:HandleErrorAuthorizedOutputCache在本文中,我们应用Action Selector方式进行Action的选择,想要阐述清楚这个问题,我们从实际的问题出发来关注。实际的问题,从和老赵的对话了解我们有个业务室这样的:系统有不同的角色,例如Admin、Client、Agent。假设有个功能叫Book/List,那么就对应了一个List这样的View和action为List这样的BookController,现在,我们的情况是对于不同的角色,所对应的List是不同的。Admin看到的Book/List和Client看到的Book/List是不同的,那么通过Url:http://anytao.com/Book/List/123,不同的角色如何处理,差不多就这样,是否清楚。我:那么对于同一Action如何更好的return到不同的view?老赵:具体问题是什么呢?我: 我现在能想到的是在Action中根据角色Return到不同的View,简单的办法就是在List Action根据角色Return到不同的View。问题是,还有什么更好的办法。老赵:准备n各action,分别加上自定的ActionSelector,不要用一个Action,不用一个Action然后在里面if。[OnlyInRole("admin")]
[ActionName("List")]
ListForAdmin()
{
}
[OnlyInRole("user")]
[ActionName("List")]
ListForUser()
{
}OnlyInRole需要自己写,不过就几行话我: 哈哈,差不多了,谢啦。根据老赵的指导,我对此思路进行了必要的探讨,感受果然不同凡响。