Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183

    valori da campo di testo

    ciao,
    sto cercando di estrarre in un colpo solo dei dati da campi di testo dentro un pannello.

    Il codice mi sembra giusto ma la pagina è vuota
    grazie

    dim ctl as object
    for each ctl As Object in pannello_consigli.Controls
    if ctl.ToString() = "System.Web.UI.WebControls.TextBox"
    'Fai quello che vuoi
    response.Write(ctl.Text +"
    ")
    end if
    next

    devo forse mettere il page is.notpostback???
    victor
    ----------------------

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    codice:
    <script runat="server">
    sub cc(sender As Object, e As System.EventArgs)
    dim ctl as control
    for each ctl in pannello_consigli.Controls
    if typeof ctl is System.Web.UI.WebControls.TextBox then 
    response.Write(ctl.ID & ": " & CType(ctl, System.Web.UI.WebControls.TextBox).Text +"
    ")
    end if
    next 
    end sub
    </script>
    <form runat="server">
    <asp:panel id="pannello_consigli" runat="server">
    <input runat="server"><input runat="server"><input runat="server"><asp:textbox runat="server" /><input type="submit" runat="server" onserverclick="cc">
    </asp:panel></form>
    occhio che però questo codice funziona fin troppo bene: gli input type="text" (i primi 3) non li riconosce

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183
    ciao,
    grazie per la risposta.

    Sto provando a fare stampare il tutto con questo codice che sono sicuro sia giusto, anche perchè l'avevo annotato e mi funzionava.

    Adesso non mi stampa più niente....

    <%@ Page Language="vb" Debug="true" %>
    <%@ import namespace="system.data" %>
    <%@ import namespace="system.data.oledb" %>



    <script language="VB" runat="server">

    sub go (obj as object, e as eventargs)

    dim ctl as object

    for each ctl in pannello.Controls
    if ctl.tostring() = "System.web.UI.WebControls.TextBox"

    response.Write(ctl.text)
    end if

    next


    end sub

    </script>
    <body>
    <form runat="server">
    <aspanel runat="server" ID="pannello">

    <asp:textbox runat="server" ID="a"/>
    <asp:button runat="server" OnClick="go"/>


    </aspanel>

    </form>
    </body>
    victor
    ----------------------

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    ehm
    guarda ke se usi il mio codice è lo stesso (e lo trovo formalmente meno scorretto)

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183
    si ma non va
    victor
    ----------------------

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    Originariamente inviato da victor8872
    si ma non va
    ok io sono babbo natale

































    se legggi bene ti ho scritto ke stampa solo il valore dell'ultimo textbox e ti ho spiegato anke xkè.. almeno credo di averlo fatto.. forse xò non so spiegarmi bene
    se vuoi il valore di tutti devi sostituire gli <input> con <asp:textbox>

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183

    ehmmm....scusa!

    Naturalmente grazie adesso funziona!

    Ma allora perchè il mio non va??

    Poi, visto che ci sono, avrei un'altra domanda da farti:

    ecco il codice

    dim objcmd2 as new oledbcommand ("select * from utenti where id="& val &" ", objconn)

    dim read as oledbdatareader

    objconn.open
    read=objcmd2.executereader

    dim c as integer
    while read.read


    if (read.getstring(0)="") then
    response.Write("zero niente")
    else
    zero.text=read.getstring(0)
    end if

    if (read.getstring(1)="") then
    response.Write("uno niente")
    else
    uno.text=read.getstring(1)
    end if

    if (read.getstring(2)="") then
    response.Write("due niente")
    else
    due.text=read.getstring(2)
    end if


    invece di mettere tutti quegli if, non potrei usare un for e verificare se i campi che vengono presi sono vuoi o pieni???


    Grazie mille
    victor
    ----------------------

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127

    Re: ehmmm....scusa!

    Originariamente inviato da victor8872
    Naturalmente grazie adesso funziona!

    Ma allora perchè il mio non va??
    non ti saprei dire xò quel ctl.ToString = "...." mi ha fatto rabbrividire

    Poi, visto che ci sono, avrei un'altra domanda da farti:

    ecco il codice


    invece di mettere tutti quegli if, non potrei usare un for e verificare se i campi che vengono presi sono vuoi o pieni???


    Grazie mille
    sì.. usa una cosa del genere..
    codice:
    dim objcmd2 as new oledbcommand ("select * from utenti where id="& val &" ", objconn)
    
    	dim read as oledbdatareader
    	
    	objconn.open
    	read=objcmd2.executereader
    	
    	dim c as integer
    
    	while read.read
    for c=0 to 2
    if (read.getstring(0)="") then
    response.Write("zero niente")
    else
    ' qui ci fai un ciclo simile a quello ke ti ho scritto qualke messaggio fa..
    ' devi cambiare solo la riga 
    ' if typeof ctl is System.Web.UI.WebControls.TextBox then 
    ' in
    ' if ctl.ID = "txt" & c then 
    ' ovviamente al posto di zero, uno, due, tre devi mettere txt0, txt1, txt2, txt3..
    end if
    next

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183
    Ti posto la paginetta.

    Ogni read.getstring viene associato ad una label nella body.

    Però appunto vorrei fare in modo che, grazie al ciclo for, se nel campo non ce valore al posto di niente stampa una scritta del tipo "campo vuoto"

    Grazie


    <%@ Page Language="vb" Debug="true" validaterequest="false" %>
    <%@ import namespace="system.data" %>
    <%@ import namespace="system.data.oledb" %>


    <script language="VB" runat="server">


    dim objconn as new oledbconnection ("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.MapPath("registrati.mdb"))


    sub page_load (obj as object, e as eventargs)


    dim objcmd2 as new oledbcommand ("select * from utenti ", objconn)

    dim read as oledbdatareader

    objconn.open
    read=objcmd2.executereader


    while read.read

    la_mail.text=read.getstring(2)


    il_nome.text=read.getstring(5)


    la_citta.text=read.getstring(6)


    end while
    read.close

    objcmd2.connection.close()

    end sub


    </script>



    <form runat="server">


    <asp:table HorizontalAlign="Center" runat="server" ID="tabella_profilo" Width="746" BorderColor="#990000" BorderWidth="2" CellPadding="4" CellSpacing="0">

    <asp:tablerow runat="server">
    <asp:tablecell runat="server" Height="35" VerticalAlign="Top">
    <asp:label runat="server" ID="il_nome" Font-Name="verdana" Font-Size="9"/>
    </asp:tablecell>
    </asp:tablerow>


    <asp:tablerow runat="server">
    <asp:tablecell runat="server" Height="35" VerticalAlign="Top">
    <asp:label runat="server" ID="la_mail" Font-Name="verdana" Font-Size="9"/>
    </asp:tablecell>
    </asp:tablerow>

    <asp:tablerow runat="server">
    <asp:tablecell runat="server" BackColor="#FFFFCC" Height="16">
    <asp:label runat="server" ID="la_citta" Font-Name="verdana" Font-Size="9"/>
    </asp:tablecell>
    </asp:tablerow>


    </asp:table>
    </form>
    victor
    ----------------------

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.