none
Controles De Usuario: Visualizar Valor De Propiedad En El Control En Tiempo De Diseño RRS feed

  • Pregunta

  • ASP.NET 4.5

    Hola a todos

    Al definir un Control De Usuario (basado en un TextBox que gestiona sólo números) que acepta sólo ciertos valores, se define la Propiedad Valor, que ha de Obtener o Establecer la Cantidad Numérica almacenada en el Control.

    Se utiliza el siguiente bloque de Código para definir la Propiedad Valor:

            [Browsable(true),Category("PropiedadesPersonalizadas"),Description("Cantidad asignada al Control")]

            public string Valor
            {
                get
                {
                    return txtValor.Text;
                }
                set
                {
                    txtValor.Text = value;
                }
            }

    La primera instrucción, es para visualizar la Propiedad Valor en el Panel (Ventana) De Propiedades en Tiempo De Diseño.

    A propósito no sirve la Clase Description, pues no se muestra su contenido en el Panel De Información (sección de la parte inferior del Panel De Propiedades)

    Las otras Clases (Browsable y Category) funcionan a la perfección, de modo que al insertar el Control en el WebForm, se muestra la Propiedad Valor en su Categoría (PropiedadesPersonalizadas) (no muestra el contenido de la Clase Description, como se dijo anteriormente) y permite asignarle un Valor, que al ejecutar la Página en el Navegador, lo muestra correctamente.

    El problema es el siguiente:

    Si en un Control TextBox, en Tiempo De Diseño, se le Asigna Un Valor a su Propiedad Text desde el Panel De Propiedades, dicho Valor ya se muestra en el Control en la Página sin necesidad que se ejecute en el Navegador.

    En el caso del Control De Usuario en cuestión, si bien es cierto que muestra correctamente su Valor al ejecutar la Página en el Navegador, no se muestra dicho Valor en el Control en Tiempo De Diseño una vez asignado desde el Panel De Propiedades

    1º ¿Cómo conseguir esta funcionalidad?

    Desde ya Muchísimas Gracias


    Skar.2007

    miércoles, 26 de octubre de 2016 23:33

Todas las respuestas

  • Si quieres hacer que un textbox no permita escribir solo texto o solo numero o que acepte solo ciertos caracteres puedes bajar la librería del AJAX http://www.ajaxcontroltoolkit.com/ y agrégala a tu proyecto. Y usa el FilteredTextBoxExtender.

    De esta manera puedes hacer que acepte solo números, solo letras o CUSTOM (indicas quecaracteres son validos)

                                    <asp:TextBox ID="TxtbNocontrato" runat="server" Width="245px" CssClass="CuadrosTexto"
                                        MaxLength="10"></asp:TextBox>
                                    <cc2:FilteredTextBoxExtender ID="TxtbNocontrato_FilteredTextBoxExtender" runat="server"
                                        Enabled="True" TargetControlID="TxtbNocontrato" FilterType="Numbers">
                                    </cc2:FilteredTextBoxExtender>

                                    <asp:TextBox ID="TxtbClave" runat="server" CssClass="CuadrosTexto" Width="245px"
                                        MaxLength="14"></asp:TextBox>
                                    <cc2:FilteredTextBoxExtender ID="TxtbClave_FilteredTextBoxExtender" runat="server"
                                        Enabled="True" FilterType="Custom" TargetControlID="TxtbClave" ValidChars="0123456789ajcAJC">
                                    </cc2:FilteredTextBoxExtender>

    jueves, 27 de octubre de 2016 0:12