In SharePoint, per evitare di far comparire l'errore
Error: Access Denied
nelle webpart bisogna impostare la proprietà CatchAccessDeniedException dell'oggetto SPSecurity a false

Se questa proprietà è a true l'eccezione di accesso negato viene gestita da SharePoint che visualizza la pagina di errore. Se impostata a false l'errore è gestibile all'interno della webpart tramite try e catch.
C#
//memorizzo lo stato precedente
bool catchFlag = SPSecurity.CatchAccessDeniedException;
try
{
  //imposto a false per gestire l'eccezione di accesso negato da codice
  SPSecurity.CatchAccessDeniedException = false;
  
  // il codice ...
}
catch (Exception ex)
{
  //gestisco l'eccezione
}
finally
{
  //rimetto la situazione come era prima
  SPSecurity.CatchAccessDeniedException = catchFlag;
}

Vedi anche SPSecurity.CatchAccessDeniedException Property
Potrebbe interessarti anche: