Come posso ottenere il valore della casella di testo in un controllo utente

Ho un controllo utente che dispone di una casella di testo su di esso, ora, questo usercontrol è su un altro controllo utente che sto usando sulla pagina aspx come posso ottenere il valore della casella di testo il primo controllo utente.

OriginaleL’autore Vinay Pandey | 2009-04-10

4 Replies
  1. 9

    Scrivere una proprietà in usercontrol per esporre il suo contenuto, ad esempio,

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

    Questo modo è possibile ottenere il valore della textbox senza esporre l’intero controllo textbox come un oggetto di uso pubblico.

    OriginaleL’autore Jon Limjap

  2. 2

    Jon Limjap risposta fornisce la soluzione migliore per questo tipo di problema – Esporre il controllo dei valori utilizzando le proprietà Pubbliche.

    Tuttavia, se non volete farlo in questo modo (o devi fare questo per un sacco di controlli e vuole evitare la creazione di proprietà Pubbliche per ogni controllo), si potrebbe utilizzare la Reflection per “trovare il controllo” in ChildControls della richiesta di UserControl:

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

    OriginaleL’autore Cerebrus

  3. 1

    In alto a .aspx pagina, aggiungere il seguente linea al di sopra di tag.

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

    Presente direttiva registri di controllo in modo che possa essere riconosciuto quando la pagina viene elaborata. TagPrefix determina l’unico spazio dei nomi del controllo, il Tag è il nome dell’utente per il controllo e la Src è il percorso del controllo utente.
    Dichiarare i controlli utente come

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

    L’accesso e l’Impostazione Utente Controlla i Valori in campo .Pagina aspx:
    L’utente può accedere e impostare i valori di Controllo Utente .pagina aspx attraverso le proprietà,utilizzo di javascript e nel code-behind della pagina aspx.I dettagli sono riportati di seguito
    Utilizzando Le Proprietà
    Se il test.ascx di controllo ha due caselle di testo e il pulsante di invio.È possibile accedere ai valori delle caselle di testo in un controllo da un .pagina aspx dichiarando di proprietà pubblica .ascx pagina.

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

    .pagina aspx,è possibile accedere FirstName utilizzando

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

    Nota:rif

    OriginaleL’autore shamim

  4. 0

    Credo che sia più facile per ottenere il valore la Richiesta. Si potrebbe scrivere un metodo generico come questo per trovare:

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

    OriginaleL’autore Adam

Lascia un commento