Tôi đang làm việc với nopCommerce và tôi cần thêm Bộ lọc hành động duy nhất của mình, tuy nhiên, tôi không muốn sửa đổi bộ điều khiển lõi để tránh mã của mình bị ghi đè khi một bản cập nhật mới được phát hành.ASP.NET MVC: Đăng ký bộ lọc hành động mà không sửa đổi bộ điều khiển
tôi đã thiết lập Filter Action tôi:
public class ProductActionFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
if (filterContext.Result is ViewResult)
{
...
}
base.OnActionExecuted(filterContext);
}
}
Nếu tôi được sửa đổi bộ điều khiển, tôi chỉ có thể thêm [ProductActionFilter]
với hành động Tôi muốn nó được gán cho.
Có cách nào tôi có thể đăng ký Bộ lọc hành động tùy chỉnh của mình cho một hành động cụ thể mà không sửa đổi bộ điều khiển không?
Cảm ơn phản hồi của bạn. Một bộ lọc toàn cục trông giống như một tùy chọn phù hợp và như bạn nói, tôi có thể kiểm tra một bộ điều khiển/hành động cụ thể. Chỉ cần ném một cái gì đó ra khỏi đó, thay vì sử dụng 'GlobalFilters.Filters.Add', sẽ' FilterProviders.Providers.Add' làm việc giống nhau không? Tôi không chắc chắn 100% cách thức hoạt động, nhưng tôi đã đọc nó cho phép bạn chỉ định một bộ điều khiển/hành động nhất định ... –
@Scrooby Vâng, FilterProvider cũng có thể hoạt động. Vui lòng kiểm tra http://stackoverflow.com/questions/5312624/filters-add-vs-filterproviders-providers-add. – sashaeve