Filters
Basic example
public class MyFilter : IResultFilter
{
private readonly IWidgetProvider _widgetProvider;
private readonly IUrlHelper _urlHelper;
public MyFilter(IWidgetProvider widgetProvider, IUrlHelper urlHelper)
{
_widgetProvider = widgetProvider;
_urlHelper = urlHelper;
}
public void OnResultExecuting(ResultExecutingContext filterContext)
{
// Should only run on a full view rendering result or HTML ContentResult.
if (!filterContext.Result.IsHtmlViewResult())
{
return;
}
// Menu item in global header
var html = $"<a class='menubar-link' href='{_urlHelper.RouteUrl("MyRoute")}'>My Link</a>";
_widgetProvider.RegisterHtml("header_menu_special", new HtmlString(html), 100);
}
public void OnResultExecuted(ResultExecutedContext filterContext)
{
}
}Register a filter in Startup
Endpoint filter
ForAction and ForController
Examples
Conditional filtering
Examples
So, which method should I use to register my filter? 🤷
Last updated
Was this helpful?