Visualizzazione dei risultati da 1 a 10 su 10

Discussione: TextBox e text

  1. #1

    TextBox e text

    Sono alle prime armi con ASp.Net...
    Per alcune ragioni io sono messo così:


    Dim file_nome As Object
    Dim i As Object
    file_nome = Split(Session("file_upload"), "__")

    For i = 1 To UBound(file_nome)%>

    <asp:TextBox ID="mail_file" runat="server" Text="<%Response.Write(file_nome(i))%>"></asp:TextBox>

    <asp:Button ID="mail_btn" runat="server" Text="invia mail" OnClick="invia_mail" />

    <%Next%>


    ora, come è ovvio non funziona la proprietà Text... come risolvo???
    grazie

  2. #2
    ciao,
    stai usando ASP.NET ma stai programmando in Classic ASP

    non è proprio la stessa cosa.
    Se vuoi mantenere questo codice, sostituisci i controlli asp:textbox con semplici controlli html input type=text.

    se vuoi passare ad asp.net usa un semplice repeater al quale passerai come datasource il tuo array di stringhe
    Qui un esempio: http://www.ezineasp.net/post/ASP-Net...ing-Array.aspx

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Non so se il tutto funziona, ma in questo modo vedrai soltanto l'ultimo elemento dell'array (che dovrebbe essere dichiarato Dim file_nome() as String), a causa del ciclo.

    Inoltre, quando usi i simboli server-side <% e %>, le proprietà delle classi devono racchiudere questi ultimi in apici singoli ( ' ).

    Comunque, non sei sulla strada giusta. ASP.Net sposa la programmazione ad oggetti e devi iniziare a staccarti dallo 'spaghetti-code' del classic-asp.

    Ti consiglio un manuale.

  4. #4
    avete ragione, infatti lo sto facendo...
    ora però devo risolvere questo problema..

    in pratica io ho una session con più stringhe concatenate (es: stringa1__stringa2__stringa3)

    in seguito, devo creare una tabella con in ogni riga, proviente dallo split (quindi nell'esempio 3 righe), 2 campi textbox che recuperano i valori TEXT dalle stringhe.
    Come ultimo campo, un asp:button che nell'onClick manda una mail...

    il problema quindi, come ho fatto io, è che il button ha sempre lo stesso id, e non riesco a differenziare il tutto..

    è un po incasinato a spiegarlo...sorry...

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Usa un placeholder (contenitore di altri controlli) nella parte ASPX:
    codice:
           <asp:PlaceHolder ID="ph" runat="server"></asp:PlaceHolder>  
           <asp:Button ID="mail_btn" runat="server" Text="invia mail" OnClick="invia_mail" />

    Nel code-behind (.VB) invece, nella sub Page_Load (deve passarci ad ogni postback), un ciclo sulle stringhe estratte dalla Split:

    codice:
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim file_nome() As String
            Dim i As Integer
    
            Session("file_upload") = "stringa1__stringa2__stringa3__stringa4"
            file_nome = Split(Session("file_upload"), "__")
            ph.Controls.Clear()
    
            For i = 0 To UBound(file_nome)
                Dim tb As New TextBox
                tb.ID = "tb" & i
                tb.Text = file_nome(i)
                ph.Controls.Add(tb)
            Next
        End Sub
    
       Sub invia_mail()
           '
       End sub
    Attenzione al ciclo, gli elementi dell'array partono dalla posizione 0.

  6. #6
    Originariamente inviato da millennium_y2k
    in seguito, devo creare una tabella con in ogni riga, proviente dallo split (quindi nell'esempio 3 righe), 2 campi textbox che recuperano i valori TEXT dalle stringhe.
    Come ultimo campo, un asp:button che nell'onClick manda una mail...

    il problema quindi, come ho fatto io, è che il button ha sempre lo stesso id, e non riesco a differenziare il tutto..
    non ho capito una mazza!!!!!!!
    come deve essere il risultato?
    string1__string2__string3

    diventa

    textbox con string1
    textbox con string2
    textbox con string3
    botton

    allora in questo caso va benissimo un repeater

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Deve creare N textbox a seconda di quante stringhe escono dalla Split, tutto qui.
    Va bene sia il repeater sia la soluzione sopra postata.

  8. #8
    Grazie a tutti, ho fatto con un Repeater, una cavolata alla fine, tranne una cosa, posto il codice:

    <asp:Repeater ID="Repeater1" runat="server">
    <HeaderTemplate>...</HeaderTemplate>
    <ItemTemplate>
    <asp:Label ID="mail_label" runat="server" Text="<%# Container.DataItem %>"></asp:Label>
    <asp:TextBox ID="mail_note" runat="server"></asp:TextBox></td>
    <asp:TextBox ID="mail_mail" runat="server"></asp:TextBox></td>
    <asp:Button ID="mail_btn" runat="server" Text="invia mail" CommandName="mail_invia" />
    </ItemTemplate>
    <FooterTemplate>...</FooterTemplate>
    </asp:Repeater>

    ora sto tentando di far andare il Button, ho trovato questo ma non va:

    Protected Sub Repeater1_ItemCommand(source As Object, e As System.Web.UI.WebControls.RepeaterCommandEventArgs ) Handles Repeater1.ItemCommand

    If e.CommandName = "mail_invia" Then
    .....
    End If
    End Sub

  9. #9
    non hai agganciato l'evento al controllo:
    codice:
    <asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">

  10. #10
    Originariamente inviato da Gluck74
    non hai agganciato l'evento al controllo:
    codice:
    <asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
    infatti, me ne ero accorto poco dopo..
    tutto funziona, grazie a tutti per la velocità delle risposte!
    spero di trovarmi un po di tempo per studiarmi tutto il resto

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 © 2025 vBulletin Solutions, Inc. All rights reserved.