Sim*_*ver 6 asp.net-mvc actionresult
我想在ASP.NET MVC中将ActionFilter应用到我的应用程序中的每个操作 - 在每个控制器上.
有没有办法在不将其应用于每个ActionResult方法的情况下执行此操作?
Ian*_*tle 10
是的,你可以做到这一点,但它不是开箱即用的方式.我做了以下事情:
以下是动作过滤器属性的示例:
public class SetCultureAttribute : FilterAttribute, IActionFilter
{
#region IActionFilter implementation
public void OnActionExecuted(ActionExecutedContext filterContext)
{
//logic goes here
}
public void OnActionExecuting(ActionExecutingContext filterContext)
{
//or logic goes here
}
#endregion IActionFilter implementation
}
Run Code Online (Sandbox Code Playgroud)
以下是具有此属性的基本控制器类的示例:
[SetCulture]
public class ControllerBase : Controller
{
...
}
Run Code Online (Sandbox Code Playgroud)
只要控制器类继承自ControllerBase,就使用此方法,然后始终执行SetCulture操作过滤器.我有一个完整的样本,并在我的博客上发布,如果你想了解更多细节.
希望有所帮助!
情况如何好转...两年后,我们有了
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorElmahAttribute());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1376 次 |
| 最近记录: |