L'arte di lavorare con le WebPart - #15

Lavorando con la funzionalità di esportazione di webpart, e collegandomi al mio precedente post #9, potrebbe capitare il caso in cui un utente provi ad esportare una webpart che contiene una parte dei suoi dati contrassegnati come sensibili; quindi, per riassumere, significa che la webpart ha l'attributo

[Personalizable(PersonalizationScope.User, true)]

nella situazione suddetta possiamo mostrare all'utente un avviso che lo informa di annullare l'operazione perchè non consentita.

L'oggetto che gestisce ciò è il WebPartManager e la property è ExportSensitiveDataWarning.

<asp:WebPartManager ID="myWPM" runat="server" ExportSensitiveDataWarning="Attenzione! impossibile esportare dati sensibili" />

L'arte di lavorare con le WebPart - #14

Può essere necessario, a volte, inibire ad un utente la possibilità di effettuare il drag'n'drop di una webpart da una zona ad un'altra.

Possiamo farlo mediante la classe WebPartZoneBase e, in particolare, utilizzando la property DragDropEnabled(True|False) che passa il valore alla omonima property della classe WebPartChrome.

L'arte di lavorare con le WebPart - #13

Uno dei metodi canonici che il WebPart Framework mette a disposizione per disabilitare verbi è quello di utilizzare l'override sul metodo FilterWebPartVerbs e passargli la collection di verbi che si vuole abilitare/disabilitare unitamente alla webpart:

protected override WebPartVerbCollection FilterWebPartVerbs(WebPartVerbCollection verbs, WebPart webPart) { WebPartVerbCollection wpvc = base.FilterWebPartVerbs(verbs, webPart); foreach (WebPartVerb verb in wpvc) { if (verb == this.Zone.EditVerb) verb.Enabled = webPart.AllowEdit; } return wpvc; }

ciò che probabilmente non riusciremo a fare, però, è nascondere il verbo "Edit" per una serie di motivi, primo fra tutti WebPartChrome.ShouldRenderVerb che sembra "ignorare" l' AllowEdit=False soltanto per il verbo "Edit".

Per suggerire un possibile workaround rimando al mio post #3 fermo restando il valido uso del codice suddetto per i restanti verbi.

«gennaio»
domlunmarmergiovensab
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910