Mã:Tại sao bộ lọc hành động của tôi không được gọi?
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();
}
}
Khi tôi gỡ lỗi khi trở về Trang chủ() và bước qua sau đó tôi bỏ qua các bộ lọc hành động và đi thẳng đến phương pháp Trang chủ().
Tôi có khai báo đúng bộ lọc hành động không?
Tôi đã tạo lại kịch bản chính xác như bạn đã làm ở trên và bộ lọc hành động của tôi bị nhấn. Tôi nhận ra thông tin này không có gì để giải quyết vấn đề của bạn, nhưng tôi nghĩ bạn nên biết rằng mã của bạn là chính xác. Một số hình thức cấu hình khác có thể gây ra sự cố bạn đang gặp phải. –
Cảm ơn Nathan. Tôi có nên khai báo lớp với tên TheFilterAttribute hoặc với tên TheFilter? Tôi nghĩ rằng đây có thể là một vấn đề và đã thử điều đó. Tuy nhiên kết quả tương tự. Nó không bước vào OnActionExecuted –
Chỉ cần thử nó mà không có 'Thuộc tính' vào cuối bộ lọc hành động của tôi; nó không có vẻ quan trọng. –