Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    (VB.NET) recupero dati da textbox dinamiche

    Ciao,

    ho una pagina che mi lista dei corsi (con tipo di corso, data, ora, posti liberi) per ogni record ho una textbox dove l'utente inserisce il numero di posti che vuole occupare per un determitato corso. L'elenco mi viene restituito in modo dinamico e vengono create in modo dinamico anche le textbox.
    Alla pressione del bottone "invia iscrizione" dovrei leggere i valori contenuti nelle textbox ma questa operazione proprio non mi riesce, è tutto il pomeriggio che ci sbatto la testa.

    Ho fatto una funzione che si scatena all'onclick sul bottone che per ora si compone di queste righe
    codice:
     Public Sub iscrivi(ByVal sender As System.Object, ByVal e As System.EventArgs)
    
    Dim nIscritti1 As Integer
    nIscritti1 = partecipanti1.text
    test.text = nIscritti1 
    
    End Sub
    partecipanti1 è il nome di una textbox (le altre hanno il numero progressivo)
    test è una label che dovrebbe mostrarmi il contenuto della textbox
    la pagina mi da l'errore a questa riga
    nIscritti1 = partecipanti1.text
    e dice " Nome 'partecipanti1' non dichiarato."
    e non lo fa alla pressione del bottone ma subito sull'on load della pagina.

    Grazie per l'aiuto

  2. #2

  3. #3
    ciao,
    le textbox vengono create nel page_load e vengono mostrate sulla mia pagina correttamente.

    Se vuoi vedere la pagina la trovi a partire da questo link
    http://test.northwind.it/duemmegi/corsi.aspx?sez=4

    grazie mille

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    ASPX
    codice:
    <%@ Page Trace=True Language="vb" EnableViewState=True AutoEventWireup="false" Codebehind="textboxes.aspx.vb" Inherits="studio.textboxes"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    	<HEAD>
    		<title>textboxes</title>
    	</HEAD>
    	<body MS_POSITIONING="GridLayout">
    		<form id="Form1" method="post" runat="server">
    			<asp:Panel ID="pn" Runat="server">
    				<asp:Button id="bt" Runat="server" Text="Invia"></asp:Button>
    			</asp:Panel>
    		</form>
    	</body>
    </HTML>
    VB:
    codice:
    Public Class textboxes
        Inherits System.Web.UI.Page
    
        Protected WithEvents bt As System.Web.UI.WebControls.Button
        Protected WithEvents pn As System.Web.UI.WebControls.Panel
    
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim tb As New TextBox
            tb.ID = "tbProva"
            tb.Width = System.Web.UI.WebControls.Unit.Pixel(200)
            pn.Controls.Add(tb)
        End Sub
    
        Private Sub bt_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bt.Click
            Response.Write(CType(pn.FindControl("tbProva"), TextBox).Text)
        End Sub
    End Class
    La creo nel page load e la recupero nel click, assegnandole l'ID. Funziona...

  5. #5
    ho provato la tua soluzione ma ottengo un errore.
    Può essere dovuto al fatto che non utilizzo il panel?
    i miei textbox sono all'interno di tablecell.

  6. #6
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da Wama
    ho provato la tua soluzione ma ottengo un errore.
    Può essere dovuto al fatto che non utilizzo il panel?
    i miei textbox sono all'interno di tablecell.
    Puo' darsi, anche io mi sono imbattuto in situazioni dove gli oggetti creati dinamicamente sulla pagina non erano raggiungibili perchè contenuti in altri oggetti.

    Prova a raggiungere la cella e fare .FindControl su di essa, o al limite abilita il trace della pagina (Page Trace=True) per vedere l'albero della gerarchia dei controlli in essa contenuti.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.