Domanda

Una parte web personalizzato ha personalizzati proprietà della parte web. Vorrei confermare con codice lato server personalizzato quando l'utente cambia il valore della proprietà (o quando le proprietà vengono salvati bing). È possibile? Posso mostrare un messaggio di errore nel riquadro strumento che descrive il problema che si è verificato?

Esempio: ho una parte web dove l'utente deve inserire un nome di lista (in una proprietà). Vorrei verificare se la lista con tale nome esiste una.

È stato utile?

Soluzione

si potrebbe creare un EditorPart personalizzato che crea un'interfaccia personalizzata in cui si verifica l'ingresso. Check this out: Web Proprietà parte - parte 2 - Editor Parts

Altri suggerimenti

spero che questo ti può aiutare, ma decorate non l'ho testato. È possibile trovare un esempio qui: http://www.sharepoint-tips.com /2010/06/validating-web-part-properties.html

private string _webPartContentLink = null;
 [Personalizable(PersonalizationScope.Shared)]
        [WebBrowsable(true)]
        [System.ComponentModel.Category("Services")]
        [WebDisplayName("Enter WebPart Content Link")]
        [WebDescription("Enter WebPart Content Link")]
        public string WebPartContentLink 
        {
            get
            {
                if (_webPartContentLink == null)
                {
                    _webPartContentLink = string.Empty;
                }
                return _webPartContentLink;
            }
            set 
            {
                if (!value.StartsWith("http://"))
                      throw new WebPartPageUserException("The WebPart Content Link is not valid");
                }

                _webPartContentLink = value;
             }
          }

In aggiunta a quanto detto Wictor, ricordarsi di definire il proprio ValidationGroup quando si utilizza personalizzato o fuori dalla scatola validatori di ASP.NET, in questo modo non si ottengono le interferenze di altri controlli di convalida che potrebbe essere sulla stessa pagina quando si fare un back postale (forse un argomento per il tuo libro Wictor: -?)

Si potrebbe anche creare una parte editor personalizzato con una casella di testo e controllo di convalida ASP.NET, per esempio un RegularExpressionValidator. Questo ti dà la validazione lato client sulla proprietà. L'unico svantaggio che posso vedere con questa soluzione è che le parti editor personalizzato sono sempre visualizzati nella parte superiore (che molto anoying ...).

Si veda questo articolo di MSDN per una passeggiata-through: http: // msdn.microsoft.com/en-us/library/hh228018.aspx#Y4419

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top