|
系列文章导航:
[一步一步MVC]第一回:使用ActionSelector控制Action的选择
[一步一步MVC]第二回:还是ActionFilter,实现对业务逻辑的统一Authorize处理
[一步一步MVC]第四回:漫谈ActionLink,有时“胡搅蛮缠”
[一步一步MVC]第五回:让TagBuilder丰富你的HtmlHelper
ActionFilter一定是MVC控制中对于Action控制中最值得研究的玩意,在项目实际中我们不可避免的使用例如:
- HandleError
- Authorized
- OutputCache
在本文中,我们应用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()
{
}
NET技术:[一步一步MVC]第一回:使用ActionSelector控制Action的选择,转载需保留来源!
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。