El código:¿Por qué no se llama mi filtro de acción?
public class TheFilter : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
var controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
}
}
public class NotesController : BaseController
{
[TheFilter]
[HttpPost]
public ActionResult Edit(EditViewModel viewModel)
{
viewModel.Note.Modified = DateTime.Now;
viewModel.Note.ModifiedBy = User.Identity.Name;
var noteTable = StorageHelper.GetTable<Note>(viewModel.PageMeta.DataSourceID);
noteTable.AddOrUpdate(viewModel.Note);
return Home();
}
}
Cuando elimino errores en la declaración de Inicio() y desplazarse por entonces evitar el filtro de acción e ir directamente al método de Inicio().
¿Estoy declarando el filtro de acción correctamente?
He recreado el escenario exactamente como lo tienes arriba y mi filtro de acción es golpeado. Me doy cuenta de que esta información no hace nada para resolver su problema, pero pensé que debería saber que su código es correcto. Alguna otra forma de configuración puede estar causando el problema que estás experimentando. –
Gracias Nathan. ¿Debo declarar la clase con el nombre TheFilterAttribute o con el nombre TheFilter? Pensé que esto podría ser un problema y lo intenté. Sin embargo, el mismo resultado. No entra en el OnActionExecuted –
Lo intenté sin el 'Atributo' al final de mi filtro de acción; no parece importar. –