Мы этого не сделали.Но мы сделали аналогичные вещи, чтобы переопределить поведение других элементов управления SP.
Прежде всего вам необходимо изучить концепцию ASP .NET Control Adapter .
Основная идеяв том, что можно переопределить поведение любого элемента управления.Таким образом, в этом случае вы можете переопределить метод визуализации зоны веб-частей и поместить туда свою логику.
Единственная проблема заключается в том, что вам необходимо зарегистрировать свой управляющий адаптер для конкретного браузера и использовать для этого файлы .browser.Чтобы обойти это, создайте свой собственный HttpModule и обработайте BeginRequestEvent.Там вы можете зарегистрировать свой адаптер для всех браузеров, например,
var browser = m_Application.Context.Request.Browser;
if (browser == null)return;
if (!browser.Adapters.Contains(webPartZoneTypeName)){
browser.Adapter[webPartZoneTypeName] = strongNameOfYourAdapter;
}
Надеюсь, это поможет.