Tengo un control de usuario que tiene un cuadro de texto en él, ahora este control de usuario de otro usuario de control de la que estoy utilizando en la página aspx ¿cómo puedo obtener el valor del cuadro de texto en el primer control de usuario.

InformationsquelleAutor Vinay Pandey | 2009-04-10

4 Comentarios

  1. 9

    Escribir una propiedad usercontrol para exponer su contenido, por ejemplo,

    public string TextBoxValue
    {
        get { return txtControl1.Text; }
    }
    

    De esta manera usted puede obtener el valor del cuadro de texto, sin necesidad de exponer todo el control de cuadro de texto como un objeto público.

  2. 2

    Jon Limjap la respuesta proporciona la mejor solución para este tipo de problema a Exponer los valores de control mediante las propiedades Públicas.

    Sin embargo, si no desea hacerlo de esta manera (o usted tiene que hacer esto para una gran cantidad de controles y quiere evitar la creación de propiedades Públicas para cada uno de control), puede utilizar la Reflexión para «encontrar el control» en la ChildControls de la UserControl:

    TextBox txt = UserControl1.FindControl("myTextBox") as TextBox;
    
    if (txt != null)
    {
      string val = txt.Text;
    }
    
  3. 1

    En la parte superior de la .aspx página, agregue la siguiente línea por encima de la etiqueta.

    <%@ Register TagPrefix="Test" TagName="TestControl" Src="Test.ascx" %>
    

    La presente directiva se registra el control para que pueda ser reconocido cuando la página se procesa. TagPrefix determina el único espacio de nombres de control, TagName es el nombre del usuario y control de Src es la ruta de acceso de control de usuario.
    Declarar controles de usuario como

    <Test:TestControl id="TestControl" runat="Server"/>
    

    El acceso y la Configuración de los Controles de Usuario los Valores en la .Página aspx:
    El usuario puede acceder y configurar los valores del Control de Usuario de .página aspx a través de propiedades,usando javascript y en el código subyacente de la página aspx.Los detalles de la misma se muestra a continuación
    El Uso De Propiedades
    Si la prueba.ascx de control tiene dos cuadros de texto y el botón de enviar.Usted puede acceder a los valores de los cuadros de texto en el control de una .página aspx mediante la declaración de bienes públicos .ascx página.

    public string FirstName
    {
    get{return txtFirstName.Text;}
    set{txtFirstName.Text = value;}
    }
    

    En .página aspx,usted puede tener acceso a FirstName utilizando

    TestControl.FirstName
    You can set the FirstName of the control from aspx page using
    TestControl.FirstName = "Suzzanne"
    

    Nota:ref

  4. 0

    Creo que es más fácil obtener el valor de la Solicitud. Se podría escribir un método genérico como este para encontrar:

        string get_value(string control_name)
        {
            var key = Request.Form.AllKeys.First(x => x.ends_with(control_name));
            return Request.Form[key];
        }
    

Dejar respuesta

Please enter your comment!
Please enter your name here