Ja, Sie können dies tun, aber es ist nicht so, wie es aus der Box funktioniert. Ich habe folgendes:
- eine Basis Controller-Klasse erstellen und haben alle Ihre Controller erben von ihm
- eine Aktion Filterattribut erstellen und haben es von FilterAttribute erben und IActionFilter
- Ihre Basis Controller-Klasse Verzieren mit Ihr neues Action-Filter Attribut
Hier ist eine Probe des Aktionsfilterattribut:
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
}
Hier ist eine Probe der Basis-Controller-Klasse mit diesem Attribute:
[SetCulture]
public class ControllerBase : Controller
{
...
}
Mit dieser Methode, solange Ihre Controller-Klassen von Controller erben dann würde der SetCulture Action-Filter immer dann ausgeführt werden. Ich habe eine vollständige Probe und Post auf diesem on my blog, wenn Sie ein bisschen mehr Details möchten.
Hoffe, dass hilft!
Enthält diese nur ActionResults beeinflussen? Oder betrifft es auch andere Ergebnistypen? JsonResult, FileResult usw.? –