Я столкнулся с этой проблемой сегодня при создании веб-части IFilterProvider.
Для меня решение было явно запустить NoFilter в методе PartCommunicationMain. Кажется, по крайней мере, NoFilter, ClearFilter или SetFilter должны запускаться каждый раз, когда вызывается этот метод.
public override void PartCommunicationMain()
{
// Ensure that all of the Web Part's controls are created.
EnsureChildControls();
TriggerNoFilter(this, null);
}
protected virtual void TriggerNoFilter(object sender, EventArgs e)
{
if (NoFilter != null)
NoFilter(sender, e);
}