Pregunta

Un elemento web personalizado tiene propiedades de elementos web personalizados. Me gustaría validar con código del lado del servidor personalizado cuando el usuario cambia de valor de la propiedad (o propiedades cuando se salvó bing). ¿Es eso posible? ¿Puedo mostrar un mensaje de error en el panel de herramientas que describe el problema que se ha producido?

Ejemplo: Tengo un elemento web donde el usuario tiene que introducir un nombre de lista (en una propiedad). Me gustaría comprobar si existe lista con el nombre de un tal.

¿Fue útil?

Solución

Se puede crear un EditorPart a medida que crea una interfaz personalizada en el cual se verifica la entrada. Mira esto: Web Part Properties - parte 2 - Editor de piezas

Otros consejos

espero que esto le puede ayudar, aunque incluya no he probado. Se puede encontrar un ejemplo aquí: 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;
             }
          }

Además de lo Wictor dijo, recuerde que debe definir su propio ValidationGroup cuando se está utilizando la costumbre o fuera de la caja validadores ASP.NET, de esa manera usted no recibe interferencias de otros controles de validación que podrían estar en la misma página cuando hacer un respaldo posterior (tal vez un tema para su libro Wictor: -?)

También podría crear una pieza personalizada con un editor de texto y control de validación ASP.NET, por ejemplo un RegularExpressionValidator. Esto le da la validación del lado del cliente en la propiedad. La única desventaja que puedo ver con esta solución es que las partes editor personalizado siempre se muestran en la parte superior (que bastante anoying ...).

Vea este artículo de MSDN para un paseo a través de: http: // msdn.microsoft.com/en-us/library/hh228018.aspx#Y4419

Licenciado bajo: CC-BY-SA con atribución
scroll top